【问题标题】:Why does lines() not draw confidence interval为什么lines()不绘制置信区间
【发布时间】:2016-11-26 06:23:23
【问题描述】:

我尝试绘制线性回归线的置信区间,但 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")

【问题讨论】:

  • 是的 :-) 但感谢您的链接。我的问题是,我没有成功绘制它

标签: r plot regression linear-regression lm


【解决方案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")

【讨论】:

  • 非常感谢。你的解决方案只给了我两点,但我需要两行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-05
  • 2018-10-02
  • 2015-10-24
  • 1970-01-01
  • 1970-01-01
  • 2021-04-10
  • 2019-01-18
相关资源
最近更新 更多