1
我正在总结类似于数据集包中的ToothGrowth数据的数据。使用ddply并进行汇总时的结果不同。由于不同的R和Plyr版本?
我想输出是这样的:
supp len half one two
1 OJ 619.9 132.3 227.0 260.6
2 VC 508.9 79.8 167.7 261.4
由剂量和补充型分裂长度的总和。我的同事使用以下代码使用R版本2.15.1和plyr_1.7.1获取此输出。
library(datasets)
x <- ToothGrowth
test <- ddply(x,c("supp"),summarize,
len = sum(len,na.rm=TRUE),
half = sum(len[dose==0.5],na.rm=TRUE),
one = sum(len[dose==1],na.rm=TRUE),
two = sum(len[dose==2],na.rm=TRUE))
ToothGrowth数据中没有NAs,但是存在真正的数据集。
我得到以下输出R版本3.0.0和和plyr_1.8。如果这会有用,我可以提供完整的sessionInfo()。
supp len half one two
1 OJ 619.9 619.9 0 0
2 VC 508.9 508.9 0 0
这似乎不会引起错误。在我的数据中,我只有三种“剂量”,但有很多“补充剂类型”。在半分类中没有任何价值的地方,它把整个数字放到一个或两个中。
有没有一种方法可以在不同版本类型之间产生一致的输出?
感谢您的帮助。可以这么说,
'ddply'被更新为“默认突变”可以这么说。因此,在最后三个变量中,当您引用'len'时,实际上是指您刚创建的'len'变量,它只是一个值。把它叫做别的。 – joran 2013-04-26 15:01:09
@joran我会说,不要犹豫,把这作为anwser。 – 2013-04-26 15:06:30
@joran,关于为什么会发生这种变化的任何评论(或者一个链接,或许对你来说没有太大麻烦)? – Arun 2013-04-26 15:07:46