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