使用负二项式回归时,R等于聚类选项


10

我正在尝试复制同事的工作,并将分析从Stata转移到R。她使用的模型调用nbreg函数中的“ cluster”选项来聚类标准错误。

有关此选项的内容和原因的完整说明,请参见http://repec.org/usug2007/crse.pdf

我的问题是如何在R中为负二项式回归调用相同的选项?

我们在Stata中指定了本文的主要模型,如下所示

 xi: nbreg cntpd09 logpop08 pcbnkthft07 pccrunion07 urbanpop pov00 pov002 edu4yr ///
 black04 hispanic04 respop i.pdpolicy i.maxloan rollover i.region if isser4 != 1,   
 cluster(state)

我已经用

pday<-glm.nb(cntpd09~logpop08+pcbnkthft07+pccrunion07+urbanpop+pov00+pov002+edu4yr+
black04+hispanic04+respop+as.factor(pdpolicy)+as.factor(maxloan)+rollover+
as.factor(region),data=data[which(data$isser4 != 1),])

这显然缺少聚集错误部分。

是否可以进行精确复制?如果可以,怎么办?如果没有,有什么合理的选择?

谢谢

[编辑]正如评论中所指出的那样,我希望找到一种不会将我带入多级模型领域的解决方案。尽管我的培训使我看到了这些事情应该相关,但是这比我自己独自承担更多的飞跃。因此,我一直在挖掘并找到以下链接:http : //landroni.wordpress.com/2012/06/02/fama-macbeth-and-cluster-robust-by-firm-and-time-standard-errors-in- r /

指向一些相当简单的代码来执行我想要的操作:

library(lmtest)
pday<-glm.nb(cntpd09~logpop08+pcbnkthft07+pccrunion07+urbanpop+pov00+pov002+edu4yr+
 black04+hispanic04+respop+as.factor(pdpolicy)+as.factor(maxloan)+rollover+
 as.factor(region),data=data[which(data$isser4 != 1),])
summary(pday)

coeftest(pday, vcov=function(x) vcovHC(x, cluster="state", type="HC1"))

但是,这不能复制Stata中的分析结果,可能是因为它设计用于非负二项式的OLS。因此搜索继续进行。任何关于我要去哪里的指示都将不胜感激


3
您可能会在这里发现本博克的笔记
fmark 2012年


仅供参考,此处是 Stata强大的聚类标准误差的定义。它们似乎实施起来并不困难。IMO,无论如何,如果遇到标准错误或引导错误,可能会更好(请参阅vce上的帮助)。我不能建议任何R包。祝您好运!
Andy W

感谢@fmark-非常有用的评论,比我的“答案”好得多,并且我已经相应地更新了它。
彼得·埃利斯

谢谢大家。我认为我的问题的简短答案是没有直接替换(例如,一个完全替代集群选项的预制函数)。显然,有更多经验的人可以看到Ben Bolker的笔记中的内容,但这将我带入了一个新的领域,在那里我不确定我是否正确地获得了公式说明。我不确定在不接受答案的情况下说“谢谢”的适当方式是什么,但是您的确感谢我,缺点是我自己的。
csfowler 2012年

Answers:



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.