Это работает, но, кажется, неуклюже. Есть ли более прямой способ сделать это? У меня есть список фреймов данных, и я хочу применить функцию к каждой строке, которая возвращает несколько вещей в фрейм данных.
#Some fake data
df1=data.frame(a=rnorm(100,5,1), b=rnorm(100,5,1))
df2=data.frame(c=rnorm(100,5,1), d=rnorm(100,5,1), e=rnorm(100,5,1))
mylist<-list(df1,df2)
names(mylist)<-c("df1","df2")
#a function this function will not be about sums, it is just the simplest
# function applied across rows I can come up with.
lfun<-function(x){apply(x, 1, FUN=function(y){
out<-data.frame(out0=y[1],
out1=sum(y[2:length(y)]),
out2=sum(y[2:length(y)])^2)})
}
#how it is currently being invoked and turned into df output
dfout<-lapply(mylist, lfun)
lapply(dfout, FUN=function(x){do.call("rbind", x)})