R:绘制多元回归的预测结果

时间:2016-11-30 18:55:37

标签: r line regression predict

我想观察治疗变量对我的结果Y的影响。我做了多元回归:fit <- lm (Y ~ x1 + x2 + x3)x1是治疗变量,x2x3是控制变量。我使用了保留x2x3的预测函数。我绘制了这个预测函数。

现在我想在我的情节中添加一行类似于简单的回归abline,但我不知道如何做到这一点。

我认为我必须使用行(x,y),其中y = predictx是我的变量x1的值序列。但是R告诉我yx的长度不同。

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找termplot

## simulate some data
set.seed(0)
x1 <- runif(100)
x2 <- runif(100)
x3 <- runif(100)
y <- cbind(1,x1,x2,x3) %*% runif(4) + rnorm(100, sd = 0.1)

## fit a model
fit <- lm(y ~ x1 + x2 + x3)

termplot(fit, se = TRUE, terms = "x1")

enter image description here

termplot使用predict.lm(, type = "terms")进行逐项预测。如果模型具有拦截(如上所述),predict.lm将使每个术语(What does predict.glm(, type=“terms”) actually do?)居中。这样,每个项在协变量的平均值上预测为0,并且平均值的标准误差为0(因此置信区间与平均线的线相交)。