要約関数のsummaryとtable
久しぶりにR tutorial。
- summary関数
数値に使うと、最小値、四分位、平均、最大値、NAの数を要約します。
そして、数値以外の属性についてもデータセットの概観できます。
> x <- sample(10,100,replace=TRUE) > x[sample(100,10)] <- NA > > y <- data.frame("num"=x,"factor"=LETTERS[sample(3,100,re=TRUE)] + ,"char"=I(LETTERS[sample(4,100,re=TRUE)]) + ,"logical"=as.logical(sample(0:1,100,re=T))) > summary(y) num factor char logical Min. : 1.000 A:29 Length:100 Mode :logical 1st Qu.: 3.000 B:40 Class :AsIs FALSE:42 Median : 6.000 C:31 Mode :character TRUE :58 Mean : 5.533 NA's :0 3rd Qu.: 8.000 Max. :10.000 NA's :10.000
$charのは属性を出力しますが、その内訳まで分かりません。
- table関数
- summary関数よりも詳しい要約を作る関数。特にcharacterの要約は便利。
> apply(y,2,table) $num 1 2 3 4 5 6 7 8 9 10 12 5 9 9 9 8 9 12 9 8 $factor A B C 29 40 31 $char A B C D 24 26 25 25 $logical TRUE FALSE 58 42
$charの出力が文字列ごとに出力されます。
-
- で、table関数は多変量に使うともう少し便利。
> table(y[,2:1]) num factor 1 2 3 4 5 6 7 8 9 10 A 4 0 3 4 3 2 2 3 3 1 B 5 3 1 3 5 3 2 8 3 4 C 3 2 5 2 1 3 5 1 3 3 > > jpeg("table.jpg",width=720) > layout(t(1:2)) > plot(table(y[,2:1])) > barplot(table(y[,2:1])) > dev.off()
多分、こんな時に便利じゃないかと思う。
> y <- data.frame(class=factor(rep(1:2,each=10),label=c("healthy","disease")) + ,weight=sample(5, 20, replace=TRUE)+5) > table(y) weight class 6 7 8 9 10 healthy 4 1 0 3 2 disease 4 1 3 0 2 > jpeg("table2.jpg") > plot(table(y)) > dev.off()