我想繪製一個普通的PDF,其中平均值本身是一個正態分佈的隨機變量。當參數本身是隨機變量時繪製正態分佈
X〜N(畝,9),
其中mu〜N(50,4)。
下面的代碼工作不夠好:
set.seed(121)
mu <- rnorm(100000,mean=50,sd=4)
X <- rnorm(100000,mean=mu,sd=9)
plot(density(mu),lty=2,xlim=c(0,100)) #mu
lines(density(X),lwd=3) #X
然而,映射到大量的觀測時rnorm
總是會產生輕微起伏的曲線,即使;就像這裏的情況一樣。 (這也佔用了不必要的空間。)由於這個原因,我更喜歡用curve
命令來繪製正常的PDF。不幸的是,下面第二行產生一個奇怪的眼痛:
curve(dnorm(x, mean=50, sd=4),
from=0, to=100, lty=2, yaxt="n") # mu
curve(dnorm(x, mean=mu, sd=9),
from=0, to=100, n = length(mu), lwd=3, lty=1, add=TRUE, yaxt="n") # X
有誰知道一個更好的方式來進行此事?是否可以自動將「mean =」設置爲curve
命令本身內的一個(完全分佈)隨機變量?
的「起伏」是不是從'RNORM(...)'。密度(...)'使用多個kernals生成一個核密度估計 - 你看到的是兩個(或更多)kernals幾乎完全重疊。如果增加帶寬(例如使用'adjust = 2'),波動就會消失。 – jlhoward 2014-10-07 20:02:57
啊,好點。謝謝你的提示! – Grant 2014-10-07 20:25:36