Jim_dddd
Jim_dddd

Reputation: 193

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'

Upvotes: 0

Views: 1634

Answers (1)

Hack-R
Hack-R

Reputation: 23200

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

Upvotes: 2

Related Questions