我正在尝试复制同事的工作,并将分析从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年
并参见前面的问题
—
fmark 2012年
感谢@fmark-非常有用的评论,比我的“答案”好得多,并且我已经相应地更新了它。
—
彼得·埃利斯
谢谢大家。我认为我的问题的简短答案是没有直接替换(例如,一个完全替代集群选项的预制函数)。显然,有更多经验的人可以看到Ben Bolker的笔记中的内容,但这将我带入了一个新的领域,在那里我不确定我是否正确地获得了公式说明。我不确定在不接受答案的情况下说“谢谢”的适当方式是什么,但是您的确感谢我,缺点是我自己的。
—
csfowler 2012年