2012-01-28 14 views
7

Próbuję zrobić histogram w [R], a normalną krzywą opisującą histogram następująco:Jak wykorzystać krzywą funkcji w [R] do wykreślenia krzywej normalnej?

w<-rnorm(1000) 
hist(w,col="red",freq=F,xlim=c(-5,5)) 
curve(dnorm(w),-5,5,add=T,col="blue") 

Ale gdy próbuję wykreślić krzywą normalną według funkcji krzywej pokazuje mi się następujący błąd :

Error en curve(dnorm(w), -5, 5, add = T, col = "blue") : 
    'expr' must be a function, or a call or an expression containing 'x' 

Co robię źle?

+0

try 'linie (gęstość (w))' ' –

Odpowiedz

10

Wystarczy upuścić „W” argument dnorm w curve:

w<-rnorm(1000) 
hist(w,col="red",freq=F,xlim=c(-5,5)) 
curve(dnorm,-5,5,add=T,col="blue") 

użyć czegoś innego niż „jednostki Normal” dostarczoną „średnia” i „SD” argumenty (a nie pamiętam zmienić granice działki dla obu hist i curve:

w<-rnorm(1000, mean=10, sd=2) 
hist(w, col="red", freq=F, xlim=10+c(-5,5)) 
curve(dnorm(x, mean=10,sd=2), 5, 15, add=T, col="blue") 

enter image description here

+4

lub krzywa (dnorm (x), ...)' lub 'krzywa (dnorm (w), ..., xname = "w") ' –

+0

Dziękuję. Jak w tym przypadku przekazać "mean" i 'sd' do' dnorm'? –

+0

Ścieżka do przodu jest zasugerowana przez komentarz BenBolker. –

1

Proste ...

curve(dnorm(w, mean=mean(w), sd=sd(w)), y = 5, to = 15, add=T, col="blue") 
Powiązane problemy