我尝试绘制线性回归线的置信区间,但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 :(得分:1)
问题是,您只预测2016年的一个数据点:
conf<-predict(coef, data.frame(Jahr=c(2016)), interval = "confidence")
怎么能lines
排列一个点来产生一条线?默认情况下,lines
有type = "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")