2013-05-19 5 views
3

회귀 분석을 R로 실행할 때 반환되는 계수의 순서는 무엇입니까? 예를 들어 :lm 단위의 계수 순서,

coef(lm(y ~ x + z, data=data.frame(x=1:10, y=10:1, z=1:5))) 

그것은 x와 관련된 계수는 항상 z와 관련된 계수 전에 반환됩니다 보장되어 있습니까? 순서에 따라 반환 된 계수의 벡터에서의 순서를 의미합니다. 이 문제가 저에게 중요한 이유는 제 모델의 계수에 대한 선형 가설을 테스트하고자하므로, 분산 공분산 행렬의 계수 순서는 vcov이고 실제 추정값은 coef입니다.

+0

수식에는'z'가 없습니다. –

+0

오케이, 오타. 그냥 고정. – Alex

답변

2

이름으로 위치가 아니라 인덱스로 시작합니다. 그러면 언제나 올바른 답을 얻을 수 있습니다. 원하는 순서에

coef(lm(y ~ x+z, data=data.frame(x=1:10, y=10:1, z=1:5)))['x'] 
## x 
## -1 
coef(lm(y ~ x+z, data=data.frame(x=1:10, y=10:1, z=1:5)))['z'] 
##    z 
## -1.855301e-16 

그리고 둘 다

는 :

coef(lm(y ~ x+z, data=data.frame(x=1:10, y=10:1, z=1:5)))[c('x', 'z')] 
##    x    z 
## -1.000000e+00 -1.855301e-16 
+1

예치 지금 내가하고있는 것이지만 상호 작용을 할 때 이들 중 일부는 못생긴 이름을 가지고 있습니다. 예를 들어'''''''''''''''''''''''''은 꽤 못생긴 이름을 가지고 있습니다. 그들에게 더 나은 해결책이 있기를 바랐다. – Alex