クロス集計表
統計解析ソフトRで
クロス集計
2つ以上の条件があって、それぞれの条件に当てはまる組み合わせの人が何人いるか〜 という表。
集計はロジスティック回帰分析などに必要そう。
これを集計すると
# mihon Hair Eye Sex 1 Brown Hazel Male 2 Brown Brown Female 3 Brown Brown Male 4 Black Brown Female 5 Brown Blue Female 6 Blond Blue Male : :
⬇️
> table(mihon) , , Sex = Male Eye Hair Brown Blue Hazel Green Black 32 11 10 3 Brown 53 50 25 15 Red 10 10 7 7 Blond 3 30 5 8 , , Sex = Female Eye Hair Brown Blue Hazel Green Black 36 9 5 2 Brown 66 34 29 14 Red 16 7 7 7 Blond 4 64 5 8 > class(table(mihon)) [1] "table"
素敵!
クラスはtable
でした。
集計表からデータを復元
使う場面がすぐに思いつかないけど、元データが作れる
R備え付けの見本データ、HairEyeColorが多重クロス集計表。
まずtable をデータフレームにすると、頻度Freq
列が登場。
> HEC <- data.frame(HairEyeColor) > head(HEC) Hair Eye Sex Freq 1 Black Brown Male 32 2 Brown Brown Male 53 3 Red Brown Male 10 4 Blond Brown Male 3 5 Black Blue Male 11 6 Brown Blue Male 50
(Black Brown Male ) を32個、(Brown Brown Male)を53個、... 作ると、集計前のデータが再現できる
> HEC2 <- data.frame(lapply(HEC, function(i) rep(i, HEC[,"Freq"]))[-4]) > head(HEC2) Hair Eye Sex 1 Black Brown Male 2 Black Brown Male 3 Black Brown Male 4 Black Brown Male 5 Black Brown Male 6 Black Brown Male
感想
外観をみるときはとりあえずsummary 使ってたけど、性質で分かれるようなデータならtable もよさそう。
(まで書いて、よく見るのは数値だからsummaryしてるんだったと思い出した)
実データの復元は本にあって面白かったけど、使い道はRの練習くらい?