2012-01-28 44 views
7

Tôi đang cố gắng để tạo ra một biểu đồ trong [R], và các đường cong bình thường mô tả các biểu đồ như sau:Làm thế nào để sử dụng đường cong hàm trong [R] để vẽ đồ thị đường cong bình thường?

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

Nhưng khi tôi cố gắng để vẽ đường cong bình thường của chức năng đường cong cho thấy tôi những lỗi sau :

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

Tôi đang làm gì sai?

+0

thử 'đường (mật độ (w)) ' –

Trả lời

10

Bạn chỉ cần thả "w" lập luận để dnorm trong curve:

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

Để sử dụng một cái gì đó khác hơn là "Đơn vị Normal" bạn cung cấp "có nghĩa là" và "sd" đối số (và đừng nhớ để thay đổi giới hạn âm mưu cho cả histcurve:

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

hoặc' đường cong (dnorm (x), ...) ', hoặc' đường cong (dnorm (w), ..., xname = "w") ' –

+0

Cảm ơn bạn. Làm thế nào để vượt qua 'mean' và' sd' để 'dnorm' trong trường hợp này? –

+0

Con đường phía trước được gợi ý bởi lời bình luận của BenBolker. –

1

Simple ...

curve(dnorm(w, mean=mean(w), sd=sd(w)), y = 5, to = 15, add=T, col="blue") 
Các vấn đề liên quan