【发布时间】:2014-01-24 08:30:38
【问题描述】:
我想在不删除空级别的情况下汇总或汇总表格。我想知道是否有人对此有任何想法?
例如, 这是一个数据框
df1<-data.frame(Method=c(rep("A",3),rep("B",2),rep("C",4)),
Type=c("Fast","Fast","Medium","Fast","Slow","Fast","Medium","Slow","Slow"),
Measure=c(1,1,2,1,3,1,1,2,2))
使用 base 和 doBy 包的两种方法。
#base
aggregate(Measure~Method+Type,data=df1,FUN=length)
require(doBy)
summaryBy(Measure~Method+Type,data=df1,FUN=length)
它们都给出了不同排序的相同结果,但问题是我希望所有方法和类型的组合以及作为 NA 插入的缺失度量。或者必须保持我的两个因素的所有水平。
df1$Type
df1$Method
也许plyr 有一些东西,但我不知道它是如何工作的。
【问题讨论】:
-
另见
ddply它是.drop参数。 -
正如@joran 已经说过的,但你不熟悉 plyr:
ddply(df1, .(Method, Type), summarise, Measure=length(Measure), .drop=F) -
乔兰和马克。那很完美。谢谢。这个选项“总结”从何而来?当最常见的用法是“FUN=length”时,“Measure=length(Measure)”。我无法从糟糕的帮助页面 ?ddply 中弄清楚这些简单的事情。再次感谢大家。
标签: r aggregate summarization