我需要绘制均值为 1 且方差为 0.6 in 的对数正态分布R
。我尝试使用as中的rlnorm
函数来执行此操作R
x= rlnorm(500, log(1), log(0.6))
plot(density(x))
log(0.6)
是否定的,这可能是我的代码无法正常工作的原因,但R
文档中lnorm
说标准偏差的值在日志中给出。如果我理解不正确,请纠正我。有人可以给我正确的R
代码吗?
我需要绘制均值为 1 且方差为 0.6 in 的对数正态分布R
。我尝试使用as中的rlnorm
函数来执行此操作R
x= rlnorm(500, log(1), log(0.6))
plot(density(x))
log(0.6)
是否定的,这可能是我的代码无法正常工作的原因,但R
文档中lnorm
说标准偏差的值在日志中给出。如果我理解不正确,请纠正我。有人可以给我正确的R
代码吗?
正如@ocram 所说,参数meanlog
和sdlog
对应于和因此在指定分布的均值和标准差时,您不需要自己获取日志。这是一些修改后的代码,其中绘制了真实密度函数(不必像上面建议的@Glen_b 那样采样)和密度估计。
x = rlnorm(500,1,.6)
grid = seq(0,25,.1)
plot(grid,dlnorm(grid,1,.6),type="l",xlab="x",ylab="f(x)")
lines(density(x),col="red")
legend("topright",c("True Density","Estimate"),lty=1,col=1:2)
如果且,则 和
dlnorm
, 参数meanlog
和sdlog
对应于和.