以下是我的代码:
set.seed(1)
par(mfrow=c(1,2))
lognorm.gen <- function(mu,sigma){
ns <- rnorm(1000,mu,sigma)
ns <- exp(ns)
hist(ns,probability = T, main = expression(paste("Sample Density Curve", mu, sigma)))
y <- seq(0,15,length=100)
lines(y,dlnorm(y,mu,sigma))
}
lognorm.gen(0,0.25)
我从正常生成样本然后将它们转换为对数正态分布。首先,我使用mu
和sigma
作为rnorm()
中的参数,然后我应该在exp(mu)
中使用exp(sigma)
和dlnorm()
。然而,该图显示线和直方图很多。相反,mu
中的sigma
和dlnorm()
很适合直方图。所以我想知道为什么在这种情况下我不应该使用exp(mu)
?
答案 0 :(得分:2)
请阅读?dlnorm
:
dlnorm(x, meanlog = 0, sdlog = 1, log = FALSE)
plnorm(q, meanlog = 0, sdlog = 1, lower.tail = TRUE, log.p = FALSE)
qlnorm(p, meanlog = 0, sdlog = 1, lower.tail = TRUE, log.p = FALSE)
rlnorm(n, meanlog = 0, sdlog = 1)
meanlog, sdlog: mean and standard deviation of the distribution on the
log scale with default values of ‘0’ and ‘1’ respectively.
平均值和标准偏差以对数刻度指定。这就是为什么你仍然需要mu
和sigma
,而不是rnorm
,而不是exp(mu)
和exp(sigma)
。