Jim_dddd Jim_dddd - 3 months ago 55
R Question

How to get dnorm curve using R

x1000 <- rep(NA, 1000)
N = 10

for(i in 1:1000){
x1000[i] <- mean(rpois(1000, 0.3))
}
hist(x1000, freq = F)

curve(dnorm(x1000, mean = 0.3, sd = sqrt(0.3)))


I'm trying to get the overlaid curve. However, it gives me:

Error in curve(dnorm(x1000, mean = 0.3, sd = sqrt(0.3))) :
'expr' must be a function, or a call or an expression containing 'x'

Answer

You were close, this is what you asked for (technically):

hist(x1000, col="red", freq=F)
curve( dnorm(x, mean=.3,sd=sqrt(.3)), col="blue", add=T) # expression containing 'x'

enter image description here

But what I think you really want is:

curve( dnorm(x, mean=mean(x1000),sd=sd(x1000)), col="blue", add=T)

enter image description here

Or:

curve( dnorm(x, mean=mean(x1000),sd=sqrt(mean(x1000)/length(x1000)), col="blue", add=T)

enter image description here

Comments