Rに組み込まれているcars
データの各変数の度数分布を見てみよう.
head(cars)
## speed dist
## 1 4 2
## 2 4 10
## 3 7 4
## 4 7 22
## 5 8 16
## 6 9 10
## スピードの度数分布
table(cars$speed)
##
## 4 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25
## 2 2 1 1 3 2 4 4 4 3 2 3 4 3 5 1 1 4 1
## スピードの相対度数分布
table(cars$speed)/sum(table(cars$speed))
##
## 4 7 8 9 10 11 12 13 14 15 16 17 18 19 20
## 0.04 0.04 0.02 0.02 0.06 0.04 0.08 0.08 0.08 0.06 0.04 0.06 0.08 0.06 0.10
## 22 23 24 25
## 0.02 0.02 0.08 0.02
## スピードのヒストグラム
hist(cars$speed,col="skyblue")
## 停止距離の度数分布
table(cars$dist)
##
## 2 4 10 14 16 17 18 20 22 24 26 28 32 34 36 40 42 46
## 1 1 2 1 1 1 1 2 1 1 4 2 3 3 2 2 1 2
## 48 50 52 54 56 60 64 66 68 70 76 80 84 85 92 93 120
## 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1
## 停止距離の相対度数分布
table(cars$dist)/sum(table(cars$dist))
##
## 2 4 10 14 16 17 18 20 22 24 26 28 32 34 36
## 0.02 0.02 0.04 0.02 0.02 0.02 0.02 0.04 0.02 0.02 0.08 0.04 0.06 0.06 0.04
## 40 42 46 48 50 52 54 56 60 64 66 68 70 76 80
## 0.04 0.02 0.04 0.02 0.02 0.02 0.04 0.04 0.02 0.02 0.02 0.02 0.02 0.02 0.02
## 84 85 92 93 120
## 0.02 0.02 0.02 0.02 0.02
## 停止距離のヒストグラム
hist(cars$dist,col="skyblue")
freq=FALSE
と設定すると,グラフが度数表記ではなく,確率密度表記になる.
## 密度のヒストグラム
disthist<-hist(cars$dist,col="skyblue",freq=FALSE)
密度のヒストグラムは,それぞれのカテゴリのレンジと密度を掛け合わせたもの(つまり各棒の面積)が,そのカテゴリの出現割合で,それらを全部足すと1になる.
p<-rep(NA,length(disthist$density))
for (i in 1:length(disthist$density)) {
p[i]<-(disthist$breaks[i+1]-disthist$breaks[i])*disthist$density[i]
}
p
## [1] 0.20 0.36 0.22 0.12 0.08 0.02
sum(p)
## [1] 1
レンジの設定をbreaks
で変えてみる.
## 密度のヒストグラム2
disthist2<-hist(cars$dist,col="skyblue",freq=FALSE,breaks = c(0,20,40,60,80,120))
やはり面積を全部足すと1になる.
p2<-rep(NA,length(disthist2$density))
for (i in 1:length(disthist2$density)) {
p2[i]<-(disthist2$breaks[i+1]-disthist2$breaks[i])*disthist2$density[i]
}
p2
## [1] 0.20 0.36 0.22 0.12 0.10
sum(p2)
## [1] 1