python, R, vimでデータマイニング

python, R, vim で疑問に思ったことなどを

dplyr:group_by に嵌る

問題

dplyrのgroup_byを使用してグループ別の集計処理をしたかったのだが
グループ処理が働かずに嵌った。

問題例

library(dplyr)
library(plyr)

mtcars %>% group_by(vs, am) %>% summarise(max = max(mpg))
##    max
## 1 33.9

グループ別の最大値を求めたいのに一つの値しか得られない。

検索 “dplyr group_by not working”

検索ワード「dplyr group_by not working」で検索して情報を得た。

http://stackoverflow.com/questions/26923862/why-are-my-dplyr-group-by-summarize-not-working-properly-name-collision-with

I believe you’ve loaded plyr after dplyr, which is why you are getting an overall summary instead of a grouped summary.

dplyrの後にplyr をロードするとだめらしい。

問題解決例

library(dplyr)
library(plyr)
detach(package:plyr)

mtcars %>% group_by(vs, am) %>% summarise(max = max(mpg))
## Source: local data frame [4 x 3]
## Groups: vs
## 
##   vs am  max
## 1  0  0 19.2
## 2  0  1 26.0
## 3  1  0 24.4
## 4  1  1 33.9