系数的顺序为lm,R

时间:2013-05-19 03:13:58

标签: r regression linear-regression lm

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

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

是否可以保证在与x相关联的系数之前始终返回与z相关联的系数?按顺序,我指的是返回系数的向量中的顺序。这对我来说很重要的原因是我想测试一个关于我的模型中的系数的线性假设,因此测试vcov返回的方差协方差矩阵中的系数的顺序和{{1}返回的实际估计事情。

1 个答案:

答案 0 :(得分: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 

他们两个,按照所需的顺序:

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