Как использовать кривую функции в [R] для построения графика нормальной кривой? - PullRequest
9 голосов
/ 28 января 2012

Я пытаюсь создать гистограмму в [R], и нормальная кривая, которая описывает гистограмму следующим образом:

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

Но когда я пытаюсь построить нормальную кривую по кривой, функция показывает мнеследующая ошибка:

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

Что я делаю не так?

Ответы [ 2 ]

12 голосов
/ 28 января 2012

Вам просто нужно сбросить аргумент "w" в dnorm в curve:

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

Чтобы использовать что-то отличное от «Unit Normal», вы задаете аргументы «mean» и «sd» (и не забудьте изменить пределы графика для hist и 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

2 голосов
/ 09 января 2015

Простой ...

curve(dnorm(w, mean=mean(w), sd=sd(w)), y = 5, to = 15, add=T, col="blue")
...