2016-09-18 58 views
1

标准偏差下面是我的代码:平均数和在正常分布和对数正态分布

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) 

我生成的样本从正常然后转化成它们的对数正态分布。首先,我在rnorm()中使用musigma作为参数,那么我应该在dlnorm()中使用exp(mu)exp(sigma)。但是,情节显示线条和直方图关闭很多。相反,musigmadlnorm()很好地符合直方图。所以我想知道为什么我不应该在这种情况下使用exp(mu)

回答

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. 

平均值和标准偏差在数刻度规定。这就是为什么您仍然需要与rnorm中使用的musigma相同的原因,而不是exp(mu)exp(sigma)

+0

我读过'?dlnorm',但我误解了'meanlog()'的作用。谢谢你的帮助。顺便说一下,如果我希望我的标题显示“mu”作为值输入,但不是两个字符本身,我应该更改哪些内容? –