Coeftest функция в R - переменная не сообщается в выходных данных - PullRequest
0 голосов
/ 12 февраля 2019

Я использую линейную регрессию в R. Я вычисляю кластерные стандартные ошибки.Я получаю вывод 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 ничего не сообщается.

1 Ответ

0 голосов
/ 15 февраля 2019

Полагаю, вы имеете в виду функции coeftest() из пакета lmtest и vcovHC() из пакета 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
...