我很难理解 plyr 包的用法。我尝试使用它来拆分存储在列表中的数据帧,应用函数,将结果存储为数据帧并将数据帧再次组合为列表。因此,鉴于以下数据:
#create test dfs
df1<-data.frame(a=sample(1:50,10),b=sample(1:50,10),c=sample(1:50,10),d=(c("a","b","c","a","a","b","b","a","c","d")))
df2<-data.frame(a=sample(1:50,9),b=sample(1:50,9),c=sample(1:50,9),d=(c("e","f","g","e","e","f","f","e","g")))
df3<-data.frame(a=sample(1:50,8),b=sample(1:50,8),c=sample(1:50,8),d=(c("h","i","j","h","h","i","i","h")))
#make them a list
list.1<-list(df1=df1,df2=df2,df3=df3)
我想计算每个数据帧的 d 中定义的每个组的平均值。如果我只在一个数据帧上使用 plyr(按组计算特定列的平均值),则使用 plyr 包的可能性是:
ddply(df1,.(d),summarise, mean=mean(a))
但是如何将它应用于数据框中的每一列以及列表中的每个数据框?以及如何重新组合所有数据,以便最终获得包含结果的矩阵列表?对于这个非常基本的问题,我很抱歉,但我是 R 的新手,我已经尝试解决这个问题很长一段时间了......谢谢。