首页 > 解决方案 > R中的Coeftest函数--输出中未报告变量

问题描述

我有一个在 R 中运行的线性回归。我正在计算聚类标准误差。我得到了输出,coeftest()但在某些情况下,它没有报告任何变量。我没有收到错误。这是否意味着无法计算系数或 coeftest 不报告无关紧要的变量?我似乎无法在任何 R 文档中找到答案。

这是R的输出:

lm1 <- lm(PeaceA ~ Soc_Edu + Pol_Constitution + mediation + gdp + enrollratio + infantmortality , data=qsi.surv)
coeftest(lm1, vcov = vcovHC(lm1, type = "HC1"))

t test of coefficients:

                   Estimate  Std. Error t value  Pr(>|t|)    
(Intercept)     -1.05780946  0.20574444 -5.1414 4.973e-06 ***
Soc_Edu         -1.00735592  0.11756507 -8.5685 3.088e-11 ***
mediation        0.65682159  0.06291926 10.4391 6.087e-14 ***
gdp              0.00041894  0.00010205  4.1052  0.000156 ***
enrollratio      0.00852143  0.00177600  4.7981 1.598e-05 ***
infantmortality  0.00455383  0.00079536  5.7255 6.566e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

请注意,没有为变量 报告任何内容Pol_Constitution

标签: rlinear-regression

解决方案


我假设您的意思是coeftest()来自 packagelmtestvcovHC()from package 的函数sandwich。在这种组合中,线性相关列的系数会默默地丢弃在coeftest' 的输出中。因此,我假设您的变量/列Pol_Constitution存在线性相关性。

下面是一个示例,它演示了线性相关列的行为。看看估计的系数I(2 * cyl)是如何NA在一个简单的summary()和中的,coeftest()但当后者与 结合时默默地下降vcovHC()

library(lmtest)
library(sandwich)
data(mtcars)
summary(mod <- lm(mpg ~ cyl + I(2*cyl), data = mtcars))

#> [...]
#> Coefficients: (1 not defined because of singularities)
#>             Estimate Std. Error t value Pr(>|t|)    
#> (Intercept)  37.8846     2.0738   18.27  < 2e-16 ***
#> cyl          -2.8758     0.3224   -8.92 6.11e-10 ***
#> I(2 * cyl)        NA         NA      NA       NA    
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> [...]

coeftest(mod)
#> 
#> t test of coefficients:
#> 
#>             Estimate Std. Error t value  Pr(>|t|)    
#> (Intercept) 37.88458    2.07384 18.2678 < 2.2e-16 ***
#> cyl         -2.87579    0.32241 -8.9197 6.113e-10 ***
#> I(2 * cyl)        NA         NA      NA        NA    
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

coeftest(mod, vcov. = vcovHC(mod))
#> 
#> t test of coefficients:
#> 
#>             Estimate Std. Error t value  Pr(>|t|)    
#> (Intercept) 37.88458    2.74154 13.8187 1.519e-14 ***
#> cyl         -2.87579    0.38869 -7.3987 3.040e-08 ***
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

推荐阅读