カテゴリカルデータの集計をしたい.vcdパッケージを使うとよい.
> #パッケージの読み込み
> library(vcd)
要求されたパッケージ grid をロード中です
>
>
> #サンプルデータの呼び出し
> data("iris")
> data("mtcars")
>
> #サンプルデータの頭出し
> head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
> head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
>
>
> #まずはirisのデータを"Species"にいくつのカテゴリー毎に数を数えてみる
> vcd::structable(~ Species, data = iris)
Species
setosa 50
versicolor 50
virginica 50
> #3つのカテゴリーに50ずつあることになる.
>
>
>
> #次はmtcarsのデータを"vs"と"gear"に分けて数えてみる.
> vcd::structable(~ vs + gear, data = mtcars)
gear 3 4 5
vs
0 12 2 4
1 3 10 1
>
>
> #さらに"vs","am","gear"に分けて数えてみる
> vcd::structable(~ vs + am + gear, data = mtcars)
am 0 1
vs gear
0 3 12 0
4 0 2
5 0 4
1 3 3 0
4 4 6
5 0 1
>
コメント