Search code examples
rstatisticscurve

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'

Solution

  • 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