2014-05-22 5 views
0

아래 두 개의 data.frames을 고려하십시오. 각각의 경우에 절편을 추출하고 관련 모델에서 세 변수에 대한 기울기를 가져 오려고합니다.은 계수가 NA 일 때 일관되게 회귀 계수를 얻습니다.

set.seed(911) 

df1 <- data.frame(y=rnorm(10) + 1:10, x=1:10, x2=rnorm(10), x3 = rnorm(10)) 
model1 <- lm(y ~ x + x2 + x3, data = df1) 
summary(model1) 
summary(model1)$coefficients[1] 
summary(model1)$coefficients[2] 
summary(model1)$coefficients[3] 
summary(model1)$coefficients[4] 



set.seed(911) 

df2 <- data.frame(y=rnorm(10) + 1:10, x=1:10, x2=1, x3 = rnorm(10)) 
model2 <- lm(y ~ x + x2 + x3, data = df2) 
summary(model2) 
summary(model2)$coefficients[1] 
summary(model2)$coefficients[2] 
summary(model2)$coefficients[3] 
summary(model2)$coefficients[4] 

그러나, 두 번째 예 x2에는 변화가 없기 때문에, 계수 추정치 NA이다. 중요하게는 summary(model2)NA을 인쇄하지만 summary(model2)$coefficients[3]은 반환하지 않고 NA을 반환하지만 건너 뛰고 다음 매개 변수로 이동합니다.

하지만 그 대신 내가 원하는 것 : 그것은 어떻게, x1, x2 또는 x2 & X3 or even something like 1 개 & X2 & x3` 수, 즉

0.9309032 
0.8736204 
NA 
0.5494 

내가 adnavce에서 알 수없는 경우가 계수, NA 될 것입니다 내가 원하는 결과를 되 돌린다.

답변

2

모델에서 직접 가져옵니다. 사용 필요 없음 summary() :

> model2$coefficients 
(Intercept)   x   x2   x3 
    0.9309032 0.8736204   NA 0.5493671 
관련 문제