2016-09-18 87 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」作爲值輸入,但不是兩個字符本身,我應該更改哪些內容? –