dnorm()の使い方
dnorm()
は正規分布の確率密度を算出する関数です。
dnorm(x, mean, sd)
正規分布の確立密度における確率点を求める
単体で使う場合は、正規分布の確率点を返します。
例えば、平均0, 標準偏差1の標準正規分布の1.96における確率点は、次のコードで求められます。
> dnorm(1.96, 0, 1)
[1] 0.05844094
平均mean
と分散sd
の初期値は、それぞれ0と1なので、標準正規分布の場合は省略できます。
> dnorm(1.96)
[1] 0.05844094
正規分布のグラフを描く
dnorm()
とcurve()
と組み合わせることで、正規分布のグラフを描くことができます。
標準正規分布
curve(dnorm(x, 0, 1), from=-3, to=3)
平均が0で、分散が1から5のグラフを描く
for (i in 1:5) {
curve(dnorm(x, 0, i), -10, 10, col=rainbow(5)[i], add=ifelse(i==1, NA, TRUE))
}
ヒストグラムと正規分布のグラフを重ねる
ヒストグラムと重ねる場合は、hist()
の縦軸がデフォルトでは度数になり、正規分布のグラフと重ねた時に合わないので、prob=TRUE
を指定して、相対度数で表示させましょう。
# Sample
iris.setosa.sepal.length <- iris[iris$Species %in% "setosa",]$Sepal.Length
# Graph
hist(iris.setosa.sepal.length, prob=TRUE)
curve(dnorm(x, mean(iris.setosa.sepal.length), sd(iris.setosa.sepal.length)), -10, 10, add=TRUE)