正規分布や累積密度関数については以前、解説しましたので、今回は正規分布と累積分布関数をRを使ってグラフにする方法を解説します。
正規分布曲線の書き方
今回は2017年の新体力テストの結果から70~74歳男性の握力として平均38㎏、標準偏差±5㎏(※分かりやすいように小数点以下は切り捨てました)を使って解説していきますね。
まず最初に、Rでggplot2を使えるように
library(ggplot2)
次に、x軸の範囲を±4標準偏差までとします。これは連続する数値を生成するseq関数を使って、18~58まで1ずつ増えるベクトルを作成します。
x.value <- seq(18, 58, 1)
では、早速、ggplot2で正規分布曲線を描いてみましょう。
ggplot(NULL, aes(x = x.value, y = dnorm(x.value, mean = 38, sd = 5))) +
geom_line() +
labs(x = "Grip(kg)", y = "Frequency")
ここで、ggplotの簡単な説明をしておきます。
- 今回の値はデータフレームではなく、ベクトルなので、最初の引数はNULLとなります。
- x軸:事前に生成した±4標準偏差
- y軸:dnorm関数により、x軸の値に対応した正規分布の確率密度関数が産出される
- 線グラフなので、geom_line( )
- labs( )はグラフの軸ラベルを入力
そして、グラフは下図のようになりました。
このグラフは平均38、標準偏差5に従う正規分布曲線となります。
累積分布関数の書き方
累積分布関数の曲線はpnorm関数を使って書きます。
基本的には上の正規分布曲線と同様の方法ですので、サクッと行きましょう。
ggplot(NULL, aes(x = x.value, y = pnorm(x.value, mean = 38, sd = 5))) +
geom_line() +
labs(x = "Grip(kg)", y = "Frequency")
と正規分布曲線の書き方で説明したのとほぼ同じで、dnorm→pnormに変更するだけで、下図のようになります。
まとめ
今回は、Rを使った正規分布曲線と累積分布関数の曲線の書き方を簡単に説明しました!ggplot2を使えばシンプルで分かりやすいグラフが書けますね。
コメント