R-线性回归图中未包含的预测变量

时间:2018-11-25 23:21:09

标签: r linear-regression

这是相关的代码段。如何获得预测变量以显示在图中?

df <- data.frame(X = 2010:2022, Y = c(11539282, 11543332, 11546969, 11567845, 11593741, 11606027, 11622554, 11658609, rep(NA, 5)))

model.1 <- lm(formula = Y ~ X, data = df)
predict(object = model.1, newdata = df)
plot(X, Y, ylim=c(11500000,11750000))
lines(sort(X), fitted(model.1)[order(X)])

1 个答案:

答案 0 :(得分:1)

进行以下更改:

  1. 创建模型时,请使用na.action = na.exclude
  2. plotlines使用公式方法
  3. 使用fitted(model.2)作为预测值
  4. 不需要排序,因为X已经排序

提供此代码:

model.2 <- lm(Y ~ X, df, na.action = na.exclude)
plot(Y ~ X, df)
lines(fitted(model.2) ~ X, df)

或使用abline,在这种情况下,可以使用以下较短的代码:

model.3 <- lm(Y ~ X, df)
plot(Y ~ X, df)
abline(model.3)

无论哪种情况,我们都会得到以下输出:

screenshot

已添加

根据评论中的说明,我们可以这样做(或者,如果您想扩大范围,请尝试ylim = extendrange(pred, f = .10)将范围扩大10%,例如,在任一侧)。

pred <- predict(model.3, df)
plot(Y ~ X, df, ylim = range(pred))
lines(pred ~ X, df)

给予:

screenshot