我喜欢plyr将数据帧分成多个数据集然后在每个数据集上执行相同操作的能力。最好的部分是当它将结果显示为一个整齐紧凑的标签表格时。我喜欢使用each()将一堆计算投入到一行中。但是,我不明白为什么在ddply参数中使用汇总功能会导致输出失败,并使其输出很长并且没有标签。看看这里,看看我的意思。你能告诉我我做错了什么吗?我更喜欢使用总结。如何从plyr输出宽而不是长的总结
让我们先设置一个示例数据框。想象一下,你有60人参加了一项研究。其中20个很有趣,20个很聪明,20个很好。然后每个主题都得到一个分数。
type<-rep(c("funny","clever", "nice"),20)
score<-rnorm(60)+10
data<-data.frame(type,score)
现在我想展示的平均分,平均分,最低分和最高分每个3种类型的人
ddply(data,.(type), summarise, each(mean,median,min,max)(score))
线上面应该给一个漂亮的表(表3行 - 每种类型1和4列数据)。唉,它只给出一整列长表,只有一列数字,其中没有一列标出。
ddply(data,.(type), function(jjkk) each(mean,median,min,max)(jjkk$score))
上面的代码给了我想要的。你能解释我对ddply语法的理解吗?