2012-03-11 37 views
9

Tôi đã thử chức năng abline để tạo một đường hồi quy tuyến tính trên một phân tán.Làm thế nào tôi có thể tạo một đường hồi quy tuyến tính trên một tán xạ với R?

x= c (1.0325477, 0.6746901, 1.0845737, 1.1123872, 1.1060822, 0.8595918, 0.8512941, 1.0148842, 1.0722369, 0.9019220 , 0.8809147, 1.0358256, 0.9903858, 1.0715174 , 1.1034405, 1.0143966,0.9802365, 0.7177169 , 0.9190783, 0.8408701) 
y= c (0.8550177, 0.8352162 ,1.0236998, 1.1071665, 0.6768144, 0.8449983 ,0.7616483, 0.8259199, 1.1539598, 1.4125006, 1.0511816, 0.9366184, 1.4101268, 1.2937913, 1.4147219 ,1.2943105 ,0.7859749, 0.6689330, 0.6940164, 0.8093392) 
plot(x,y) 
abline(lm(y ~ x)) 
Error in int_abline(a = a, b = b, h = h, v = v, untf = untf, ...) : 
plot.new has not been called yet 

Mọi góp ý xin vui lòng

+1

hmm, hoạt động tốt cho tôi – johannes

+1

cho tôi - không sao? – vaettchen

+2

Điều này có thể xảy ra nếu bạn đóng cửa sổ âm mưu (hoặc thiết bị) giữa các cuộc gọi 'cốt truyện' và' abline'. –

Trả lời

9

trình tốt cho tôi quá như đối với phần còn lại. Cố gắng đóng và mở lại R.

Nếu vẫn có vấn đề, có thể thử:

# put x and y in a data frame 
dat<-data.frame(x=x,y=y) 
attach(dat) 
plot(x,y) 
abline(lm(y ~ x)) 
+0

nhiều người dùng R có kinh nghiệm không khuyến nghị 'attach()' và khuyên bạn nên sử dụng đối số 'data' bất cứ khi nào có thể (ví dụ:' lm', mặc dù không có sẵn trong 'lô') –

+1

@BenBolker -' with() 'suffices as một đại diện thay thế cho cốt truyện, 'với (dat, lô (y ~ x))' – Chase

+0

@Chase: true. Đối với người dùng bắt đầu, tôi nghĩ sự đơn giản tương đối của 'plot (dat $ x, dat $ y)' có thể tốt hơn (mặc dù tôi thích 'with' và thường xuyên sử dụng nó). Có lẽ quá trễ để kiến ​​nghị R-core cho một đối số 'dữ liệu' trong' lô' ... –

1

lô (x ~ y)

abline (lm (x ~ y))

nên sửa mã đó. Trên MacO nó làm cho nó hoạt động.

+0

thực sự, câu trả lời này không quá hữu ích - bạn đã lật biến dự báo và biến trả lời, và mã gốc hoạt động cho những người khác đã thử nó ... –

0

Trước tiên hãy tạo tệp để hiển thị đầu ra của bạn chẳng hạn như tệp pdf hoặc svg thì mã giống nhau rõ ràng sẽ giúp ích. Để biết thêm chi tiết

svg("filename1.svg") 
    plot(x ~ y) 
    abline(lm(y ~ x)) 
    dev.off() 
Các vấn đề liên quan