2016-07-22 63 views
1

我試圖繪製線性迴歸直線的置信區間,但lines()函數不起作用。我該怎麼辦才能解決這個問題?爲什麼lines()沒有繪製置信區間

Jahr<-Jahr[2:26] 
Menge<-Menge[1:25] 
plot(Jahr,Menge,xlim=c(1991,2016),ylim=c(25000000,550000000)) 

coef<-lm(Menge~Jahr) 
abline(coef,col="blue") 

PredictPoint<-predict(coef,data.frame(Jahr=c(2016)),interval="none") 
points.default(x=2016,y=PredictPoint,type="p",col="red",pch=1) 
conf<-predict(coef, data.frame(Jahr=c(2016)), interval = "confidence") 
lines(data.frame(Jahr=c(2016)),conf[,2],col="red") 
lines(data.frame(Jahr=c(2016)),conf[,3],col="red") 
+0

是:-)但感謝linkes。我的問題是,我沒有成功繪製它 – Kaja

回答

1

的問題是,你只在2016年預測的一個數據點:

conf<-predict(coef, data.frame(Jahr=c(2016)), interval = "confidence") 

怎麼可能lines排隊的單點生產線?默認情況下,linestype = "l"。如果設置了type = "b",它將顯示b其他點和線。如果您只有一個數據,它將顯示點。

另一個問題是您將數據幀而不是矢量傳遞給lines的第一個參數。

總之,這樣做:

lines(2016, conf[,2], col="red", type = "b") 
lines(2016, conf[,3], col="red", type = "b") 

如果你只是想爲這個單點置信區間,也許這是更好的:

segments(2016, conf[,2], 2016, conf[,3], lty = 2, col = "red") 
+0

Thiks很多。你的解決方案只給我兩點,但我需要兩條線 – Kaja