为什么我运行鲁棒标准误差时,t值、标准误差等会得到NA值?

3

我正在使用Rstudio处理以下数据。 我运行了一个回归模型minreg <- lm(lwage76~ed76 + exp76 + exp762, data = nlsdata),然后查看系数coeftest(minreg, vcovHC)。 到这里为止一切都很好。 然后我又运行了同样的回归模型,但加入了一个额外的变量:minreg_a <- lm(lwage76~ed76 + exp76 + exp762 + kww, data = nlsdata) 然后查看系数coeftest(minreg_a, vcovHC)

t test of coefficients:

              Estimate Std. Error t value Pr(>|t|)
(Intercept)  4.6051063         NA      NA       NA
ed76         0.0596900         NA      NA       NA
exp76        0.0699201         NA      NA       NA
exp762      -0.0021611         NA      NA       NA
kww11        0.3504745         NA      NA       NA
kww12        0.0468874         NA      NA       NA
kww13        0.2146929         NA      NA       NA
kww14        0.0623738         NA      NA       NA
kww15        0.0298164         NA      NA       NA
kww16        0.2308240         NA      NA       NA
kww17        0.1766641         NA      NA       NA
kww18        0.2579742         NA      NA       NA
kww19        0.2125317         NA      NA       NA
kww20        0.2498308         NA      NA       NA
kww21        0.2670052         NA      NA       NA
kww22        0.3581900         NA      NA       NA
kww23        0.5047055         NA      NA       NA
kww24        0.2953582         NA      NA       NA
kww25        0.3738028         NA      NA       NA
kww26        0.3819417         NA      NA       NA
kww27        0.3533177         NA      NA       NA
kww28        0.4772736         NA      NA       NA
kww29        0.4024529         NA      NA       NA
kww30        0.3988244         NA      NA       NA
kww31        0.4426652         NA      NA       NA
kww32        0.4117452         NA      NA       NA
kww33        0.4294092         NA      NA       NA
kww34        0.4356410         NA      NA       NA
kww35        0.4399743         NA      NA       NA
kww36        0.4630381         NA      NA       NA
kww37        0.4779400         NA      NA       NA
kww38        0.4867528         NA      NA       NA
kww39        0.5439840         NA      NA       NA
kww4         0.1968018         NA      NA       NA
kww40        0.5427968         NA      NA       NA
kww41        0.5436628         NA      NA       NA
kww42        0.6319893         NA      NA       NA
kww43        0.5522148         NA      NA       NA
kww44        0.5540705         NA      NA       NA
kww45        0.5897991         NA      NA       NA
kww46        0.5372961         NA      NA       NA
kww47        0.7583224         NA      NA       NA
kww48        0.8191181         NA      NA       NA
kww49        0.5448992         NA      NA       NA
kww50        0.7070670         NA      NA       NA
kww51        0.6892674         NA      NA       NA
kww52        0.6381098         NA      NA       NA
kww53        0.5876115         NA      NA       NA
kww54        0.7680939         NA      NA       NA
kww55        1.1111694         NA      NA       NA
kww56        0.5049158         NA      NA       NA
kww6         0.0831418         NA      NA       NA
kww8         0.3058253         NA      NA       NA
kwwNA        0.3973854         NA      NA       NA

我在这里有一个问题:为什么在尝试运行强健性标准误时,会出现NA输出?这完全让我感到困惑。

你能否提供一个可复制的例子,下载并加载数据?当我尝试将你的数据加载到R中时,出现以下错误:Error in load("Card1995.Rdata") : bad restore file magic number (file may be corrupted) -- no data loaded 此外:Warning message: file ‘Card1995.Rdata’ has magic number '' Use of save versions prior to 2 is deprecated - jmuhlenkamp
1
@jmuhlenkamp,那是因为数据实际上是文本 - 尝试将其保存为.txt文件并使用read.table()加载它们。 - Ben Bolker
coeftest 函数和传递给它的 vcovHC 参数定义在哪里? - jmuhlenkamp
1个回答

3
抱歉,您可能已经看到了最初的回答,但我刚遇到了一个类似的问题。在整个数据集上,我可以使用HC0到HC5计算稳健的标准误差,但是当通过一个相对较小的子集(约10%的样本,n〜2300)进行分层分析时,我只能使用HC0和HC1计算稳健的标准误差(即,我和您一样得到了NA值)。我认为问题与我的模型中两个变量之间的协方差有关,即种族和收入(两个因素)。在这个子集内,许多少数族裔的人仅属于收入变量的几个水平,反之亦然。当我删除收入或种族,或者调整我的分层使得这个子集的大小增加一倍时,一切都有效了(即没有NA值)。
我意识到这是一个非常具有代表性的答案,但我希望它有所帮助。如果这对于对这些过程有更好理解的人有意义,也许他们可以提供更全面的答复。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接