2016-11-30 2 views
0

결과 Y에 대한 치료 변수의 효과를 관찰하고 싶습니다. 회귀 분석을 수행했습니다 : fit <- lm (Y ~ x1 + x2 + x3). x1이 처리 변수이고 x2, 이 제어 변수입니다. 나는 그들의 수단에 x2과 을 가지고있는 예측 함수를 사용했다. 나는이 예측 함수를 플로팅했다.R : 다중 회귀에 대한 예측 결과 도표

이제 단순한 회귀 abline과 비슷한 줄을 플롯에 추가하고 싶습니다. 그러나이를 수행하는 방법을 모르겠습니다.

내 변수 x1에 대한 값 시퀀스가 ​​y = predictx 인 라인 (x, y)을 사용해야한다고 생각합니다. 그러나 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입니다 (따라서 신뢰 구간이 평균에서 선을 가로 지릅니다).