【R】dplyrでクロス集計

deplyrパッケージの使い方について実際に実行してご紹介します。

#deplyr読み込み
library(dplyr)
#iris読み込み
iris <- datasets::iris

#種類ごとに何個あるのかクロス集計
iris %>%
  dplyr::group_by(Species) %>%
  dplyr::summarise(total=n())

実行結果はこんな感じ。
# A tibble: 3 × 2
Species total

1 setosa 50
2 versicolor 50
3 virginica 50

標準のtable(iris$Species)でも同様の値がとれます。


ほかにも、

#SpeciesごとにPetal.widthの最大値を取得する
iris %>%
  dplyr::group_by(Species) %>%
  dplyr::summarize(max(Petal.Width))

によって以下のような結果を出せます。
# A tibble: 3 × 2
Species `max(Petal.Width)`

1 setosa 0.6
2 versicolor 1.8
3 virginica 2.5