2016-09-18 3 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)을 사용해야했습니다. 그러나 플롯은 선과 막대 그래프가 많이 벗어난 것으로 나타났습니다. 대신, musigma에서 dlnorm()은 히스토그램에 잘 맞습니다. 그래서 나는 왜이 경우에 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'를 값 입력으로 나타내지 만 두 문자는 표시하지 않게하려면 어떻게해야합니까? –

관련 문제