2013-05-11 142 views
7

一个新手的问​​题,可靠的集群标准误差Logistic回归:没有人知道如何在执行中的R集群标准误差的回归?在Stata它只是logit Y X1 X2 X3, vce(cluster Z),但不幸的是我还没有想出如何在R做同样的分析。与R中

+1

'sandwich'包中的'vcovHC()'函数也可能是有用的(不确定它是否适用于逻辑回归估计) – 2013-05-11 21:34:57

+1

如果您从Stata迁移,您可能会发现名为“plm”的包有用。此外,有一个名为包''pcse''通过操纵估计 – 2013-05-12 06:36:38

+0

后方差协方差矩阵实现面板修正的标准差非常感谢您的答复,本和休伯特。我也会测试你所建议的软件包,看看它们是否适用于物流估算。再次感谢! – danilofreire 2013-05-13 22:25:46

回答

13

你可能想看看rms(回归建模策略)封装。所以,lrm是逻辑回归模型,如果fit是你输出的名字,你有这样的事情:

fit=lrm(disease ~ age + study + rcs(bmi,3), x=T, y=T, data=dataf) 

fit 

robcov(fit, cluster=dataf$id) 

bootcov(fit,cluster=dataf$id) 

您在模型语句指定x=Ty=Trcs表示三节有限的三次样条曲线。

+0

非常感谢!它创造了奇迹!我会更仔细地阅读rms的手册,看看是否有按国家和年份聚集系数的方法。再一次,谢谢你! – danilofreire 2013-05-13 22:27:12

+0

这个答案已经非常好,但如果它完全可复制的话,它可以得到改进。我不知道变量来自哪里,输出是什么,为什么'rcs(bmi,3)'是必须的。 – MERose 2018-01-15 14:46:26

2

我一直在敲我的头靠在这个问题在过去两天;我神奇地发现看起来似乎是一个很好的东西的新软件包 - 例如,我也在分析一些集群健壮的Tobit模型,并且该软件包内置了该功能。且不说语法比我见过的所有其他解决方案更清洁(我们谈论的清洁近Stata的水平)。

因此,对于你的玩具比如,我会运行:

library(Zelig) 
logit<-zelig(Y~X1+X2+X3,data=data,model="logit",robust=T,cluster="Z") 

的Et瞧!

+0

哇,这似乎是“只是工作”的方式,我的R代码似乎从来没有。这是新功能吗?如果没有,为什么泽利格不是在R中解决这个问题的标准方法? – Philip 2015-05-05 03:35:31

+0

不知道,但我希望它变得如此。 [The project](http://zeligproject.org)的确显得雄心勃勃! [Google小组](https://groups.google.com/forum/m/#!forum/zelig-statistical-software)虽然看起来并不那么活跃,但不知道进展有多快。 – MichaelChirico 2015-05-05 04:11:26

+2

不幸的是,我认为这个命令在最新版本的“Zelig”(在CRAN上)不起作用。我刚刚运行了几个模型,并且没有'cluster'参数,标准错误也完全一样。我相信从4.0版本开始就是这样,我最后一次使用这个软件包。 – danilofreire 2015-07-01 05:07:39