系数的顺序为lm,R

Ale*_*lex 5 regression r linear-regression lm

在R中运行回归时,返回系数的顺序是多少?例如:

 coef(lm(y ~ x + z, data=data.frame(x=1:10, y=10:1, z=1:5)))
Run Code Online (Sandbox Code Playgroud)

是否保证在与系数相关x的系数之前总是返回与之相关的系数z?按顺序,我指的是返回系数的向量中的顺序.这对我来说很重要的原因是我想测试一个关于我的模型中系数的线性假设,因此测试返回的方差协方差矩阵中的系数的顺序vcovcoef事项返回的实际估计.

Mat*_*erg 1

按名称索引,而不是按位置索引。那么你总会得到正确的答案。

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 
Run Code Online (Sandbox Code Playgroud)

两者都按照所需的顺序:

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 
Run Code Online (Sandbox Code Playgroud)