R で対数正規分布をプロットする方法
R の対数正規分布の確率密度関数をプロットするには、次の関数を使用できます。
- dlnorm(x, meanslog = 0, sdlog = 1) を使用して確率密度関数を作成します。
- Curve(function, from = NULL, to = NULL)確率密度関数をプロットします。
たとえば、次のコードは、平均 = 0、標準偏差 = 1 (対数スケール) の対数正規分布の確率密度関数をプロットする方法を示しています。プロットの x 軸は 0 から 10 です。
curve(dlnorm(x, meanlog=0, sdlog=1), from=0, to=10)
デフォルトでは、meanlog = 0 および sdlog =1 です。これは、 dlnorm()関数でこれらのパラメーターを指定しなくても、まったく同じプロットを作成できることを意味します。
curve(dlnorm(x), from=0, to=10)
タイトルを追加したり、Y 軸のラベルを変更したり、行の幅を広げたり、行の色を変更してプロットをより美しくすることもできます。
curve(dlnorm(x), from=0, to=10, main = 'Log Normal Distribution', #add title ylab = 'Density', #change y-axis label lwd = 2, #increase line width to 2 col = 'steelblue') #change line color to steelblue
グラフに複数の曲線を追加して、異なる標準偏差を持つ対数正規分布を比較することもできます。たとえば、次のコードは、sdlog = 0.3、sdlog = 0.5、および sdlog = 1 の正規分布プロットを作成します。
curve(dlnorm(x, meanlog=0, sdlog=.3), from=0, to=10, col='blue') curve(dlnorm(x, meanlog=0, sdlog=.5), from=0, to=10, col='red', add=TRUE) curve(dlnorm(x, meanlog=0, sdlog=1), from=0, to=10, col='purple', add=TRUE)
legend()関数を使用してプロットに凡例を追加できます。この関数は次の構文を使用します。
legend(x, y=NULL, 凡例, fill,col, bg, lty, cex)
金:
- x、y:凡例の配置に使用される x 座標と y 座標
- 凡例:凡例に入れるテキスト
- fill:凡例内の塗りつぶしの色
- Col:凡例内の線に使用する色のリスト
- bg:凡例の背景色
- lty:線のスタイル
- cex:凡例内のテキストのサイズ
この例では、次の構文を使用して凡例を作成します。
#create density plots curve(dlnorm(x, meanlog=0, sdlog=.3), from=0, to=10, col='blue') curve(dlnorm(x, meanlog=0, sdlog=.5), from=0, to=10, col='red', add=TRUE) curve(dlnorm(x, meanlog=0, sdlog=1), from=0, to=10, col='purple', add=TRUE) #add legend legend(6, 1.2, legend=c("sdlog=.3", "sdlog=.5", "sdlog=1"), col=c("blue", "red", "purple"), lty=1, cex=1.2)