2016-11-30 35 views
0

我想觀察治療變量對我的結果的影響Y.我做了多元迴歸:fit <- lm (Y ~ x1 + x2 + x3)x1是治療變量,x2,是控制變量。我使用了預測功能x2和。我繪製了這個預測函數。R:繪製多元迴歸的預測結果

現在我想添加一條線到我的情節,類似於一個簡單的迴歸abline,但我不知道如何做到這一點。

我想我必須使用line(x,y),其中y = predictx是我的變量x1的一系列值。但R告訴我yx的長度不同。

回答

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(因此置信區間與平均值處的線相交)。