R语言 如何绘制对数正态分布图
在这篇文章中,我们将看到如何在R编程语言中绘制对数正态分布。对数正态分布是一个随机变量的连续概率分布,其对数是正态分布。在概率论中,如果随机变量X是对数正态分布,那么Y = ln(X)具有正态分布。
要绘制对数正态分布,我们需要两个函数,即 dlnorm() 和 curve() 。
dlnorm(x, meanlog = 0, sdlog = 1)
参数
- x – 量纲的向量
- meanlog – 对数尺度上分布的平均值,默认值为0。
- sdlog – 分布在对数尺度上的标准差,默认值为1。
curve(expr, from = NULL, to = NULL)
参数
- function – 一个函数的名称,或者一个调用或写成x的函数的表达式,它将评估为一个与x相同长度的对象。
- from – 函数将被绘制的起始范围。
- to – 绘制函数的结束范围。
例子 1:
在第一个例子中,让我们用曲线和 dlnorm 函数绘制一个平均数为 0,标准差为 1,范围为 0 到 25 的对数正态分布。
curve(dlnorm(x, meanlog=0, sdlog=1), from=0, to=25)
输出
例2:
我们知道,默认情况下,平均数和标准差分别为0和1,所以我们可以不指定meanlog和sd log参数来绘制上述函数,结果是一样的。
curve(dlnorm(x), from=0, to=25)
输出
例3:
我们还可以通过为每个分布指定不同的颜色来绘制多个具有不同的平均数、标准差和范围的对数正态分布,如下所示。
curve(dlnorm(x, meanlog=0, sdlog=.3),
from=0, to=25, col='blue')
curve(dlnorm(x, meanlog=1, sdlog=.5),
from=0, to=25, col='red', add=TRUE)
curve(dlnorm(x, meanlog=2, sdlog=1),
from=0, to=25, col='purple', add=TRUE)
输出