##表2.4:成績データの幹葉表示
stem(seiseki) The decimal point is 1 digit(s) to the right of the | 2 | 8 3 | 3 4 | 3 5 | 0024 6 | 126 7 | 00023355 8 | 022556779 9 | 388 10 | 0
# 度数分布表の区間を指定する
breaks <- seq(0,100,10) breaks [1] 0 10 20 30 40 50 60 70 80 90 100
# 結果を result に代入
result<-table(cut(seiseki,breaks)) result (0,10] (10,20] (20,30] (30,40] (40,50] (50,60] (60,70] (70,80] (80,90] (90,100] 0 0 1 1 3 2 6 6 8 4
#barplot(result) で度数分布表を棒グラフを描く
barplot(result)
##表2.5 成績データの度数分布表をつくる
#刻み幅をbreaksにセットする
breaks<-seq(10,110,10)#cut
は、デフォルトは 「○○より大きくて□□以下(○○は含まれない)」となっているので注意が必要。区間の両端が含まれるかどうかの指定right = を、「○○以上□□未満」の場合は right = FALSE にする。
dosu<-table(cut(seiseki,breaks,right=F)) dosu [10,20) [20,30) [30,40) [40,50) [50,60) [60,70) [70,80) [80,90) [90,100) [100,110) 0 1 1 1 4 3 8 9 3 1
#cumsumを使って
、度数を積み上げて累積度数をつくる。
ruiseki_dosu<-cumsum(dosu) ruiseki_dosu [10,20) [20,30) [30,40) [40,50) [50,60) [60,70) [70,80) [80,90) [90,100) [100,110) 0 1 2 3 7 10 18 27 30 31
#度数を生徒数で割り
、相対度数を出す。
soutai_dosu<-dosu/31
#累積度数を生徒数で割り
、累積相対度数を出す。
ruiseki_soutai_dosu<-ruiseki_dosu/31
#度数
、相対度数、累積度数、累積相対度数をcbind()で束ねて、一つの表にする。
dosu_bunpu<-cbind(dosu,ruiseki_dosu,soutai_dosu,ruiseki_soutai_dosu)
#これが作りたかった度数分布表である
。
dosu_bunpu dosu ruiseki_dosu soutai_dosu ruiseki_soutai_dosu [10,20) 0 0 0.00000000 0.00000000 [20,30) 1 1 0.03225806 0.03225806 [30,40) 1 2 0.03225806 0.06451613 [40,50) 1 3 0.03225806 0.09677419 [50,60) 4 7 0.12903226 0.22580645 [60,70) 3 10 0.09677419 0.32258065 [70,80) 8 18 0.25806452 0.58064516 [80,90) 9 27 0.29032258 0.87096774 [90,100) 3 30 0.09677419 0.96774194 [100,110) 1 31 0.03225806 1.00000000