我在两个变量上运行'ddply'的时间非常糟糕,似乎应该是一个简单的命令。
样本数据(df):
Brand Day Rev RVP
A 1 2535.00 195.00
B 1 1785.45 43.55
C 1 1730.87 32.66
A 2 920.00 230.00
B 2 248.22 48.99
C 3 16466.00 189.00
A 1 2535.00 195.00
B 3 1785.45 43.55
C 3 1730.87 32.66
A 4 920.00 230.00
B 5 248.22 48.99
C 4 16466.00 189.00
我正在使用命令:
df2<-ddply(df, .(Brand, Day), summarize, Rev=mean(Rev), RVP=sum(RVP))
我的数据框有大约2600个观察值,有45个级别的“品牌”和最多300个级别的“日”(使用'difftime'编码)。
我可以在“Day”分组时轻松使用'ddply',但当我尝试按“Brand”分组时,我的计算机会冻结。
思想?
答案 0 :(得分:3)
您应该仔细阅读aggregate
,by
,ave
和tapply
的帮助页面,密切关注每个人都期望参数的类型以及参数的名称。然后运行所有示例或demo()
。 @hadley用pkg做的主要事情:plyr和reshape / reshape2是强加一定程度的规律性,但这是以牺牲速度为代价的。我明白他为什么这样做,特别是当我尝试使用base::reshape
函数时,但是当我忘记了我反复这样做时,其中哪一个需要一个列表,这需要FUN =参数标签,这需要{ {1}}对于分组变量,....因为它们都有些不同。
interaction()