2014-05-12 41 views
0

我剛開始使用dplyr,注意到一些奇怪的行爲,除非我沒有正確理解代碼。dplyr總結的奇怪行爲?

library(dplyr) 
library (plyr) #used elsewhere in the script to rename columns 
    t <- mtcars 
    by_cyl <- group_by(mtcars, cyl) 
    summarise(by_cyl, sum(disp), mean(hp)) 
     sum(disp) mean(hp) 
    1 7383.1 146.6875 

不應該給出圓柱體類型的平均值和總和'disp'嗎?

謝謝 -al

回答

2

試試這個:

library(dplyr) 

mtcars %.% 
group_by(cyl) %.% 
summarise(sum(disp), mean(hp)) 

通過命令與%.%串聯起來,你不需要每次

引用data.frame你也可以把它寫如果你喜歡,請在單行中:

mtcars %.% group_by(cyl) %.% summarise(sum(disp), mean(hp)) 

看看Introduction to dplyr

+0

這在功能上等同於OP的問題。事實上,刪除'disp ='和'hp ='參數名稱將返回所需的輸出。 –

+0

@ AriB.Friedman正確,我更新了我的答案。 –

0

感謝您的建議,但是,我發現了這個問題。我遇到的問題是因爲我在加載dplyr庫後加載了plyr庫。

+0

「謝謝」不是答案,如果你繼續閱讀,你會發現答案是以不同的順序加載庫。如果在plyr之後加載dplyr,我原來的代碼工作得很好。 – cherrytree