plm-package ID-YEAR Clustered Standard Errors

时间:2017-11-26 19:31:07

标签: r plm standard-error

我一直在寻找一种基于ID-Year群集进行群集标准错误的方法(每个ID-Year组合都被视为新群集)。我发现plm对象不存在这样的函数,但我有一个想法,我想知道它是否有意义:

在我的公式中,让我们说我有

p <- plm(y~x+factor(year), df, model="within", index=("ID","Date"), effect="individual")

pce <- coeftest(p, vcov=vcovHC(p, method = "arellano", type="sss",cluster="group"))

我可以简单地为LSDV模型分配一个索引,该索引只代表ID-Year组合,如下所示:

df$IDYEAR <- paste(df$ID,df$YEAR)

p1 <- plm(y~x+factor(year)+factor(ID), df, model="pooling", index=("IDYEAR"))

p1ce <- coeftest(p1, vcov=vcovHC(p1, method = "arellano", type="sss",cluster="group"))

这应该估计几乎完全相同的模型,同时欺骗我的plm函数认为组级别为IDYEAR,以便我得到正确的标准错误。我的想法是否正确?

1 个答案:

答案 0 :(得分:1)

我认为,对vcovDC进行微调应

    vcovDC <- function(x, ...){
    vcovHC(x, cluster="group", ...) + vcovHC(x, cluster="time", ...) - 
        vcovHC(x, method="white1", ...)
}

非常简洁的解释here

这也适用于您的LSDV示例。