dan*_*ire 8 regression r stata
一个新手问题:有没有人知道如何在R中运行带有聚类标准错误的逻辑回归?在Stata它只是logit Y X1 X2 X3, vce(cluster Z),但不幸的是我还没有想出如何在R中进行相同的分析.提前感谢!
Dav*_*d F 14
您可能希望查看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)
Run Code Online (Sandbox Code Playgroud)
你必须指定x=T,y=T在模型中声明. rcs表示受限的三次样条曲线,3节.
小智 6
另一种选择是使用sandwichandlmtest包,如下所示。假设这z是数据集中包含聚类指标的列dat。然后
# load libraries
library("sandwich")
library("lmtest")
# fit the logistic regression
fit = glm(y ~ x, data = dat, family = binomial)
# get results with clustered standard errors (of type HC0)
coeftest(fit, vcov. = vcovCL(fit, cluster = dat$z, type = "HC0"))
Run Code Online (Sandbox Code Playgroud)
会做这项工作。
这两天一直在纠结这个问题;我神奇地发现了一个新包,它似乎注定要完成伟大的事情——例如,我还在我的分析中运行了一些集群鲁棒的 Tobit 模型,这个包也内置了该功能。更不用说语法比我见过的所有其他解决方案更干净(我们谈论的是接近 Stata 级别的干净)。
因此,对于您的玩具示例,我会运行:
library(Zelig)
logit<-zelig(Y~X1+X2+X3,data=data,model="logit",robust=T,cluster="Z")
Run Code Online (Sandbox Code Playgroud)
等等!
小智 5
glm.clusterR 包中有一个命令miceadds,它似乎为逻辑回归提供了与 Stata 使用选项相同的结果vce(cluster)。请参阅此处的文档。
在本页的一个示例中,命令
mod2 <- miceadds::glm.cluster(data=dat, formula=highmath ~ hisei + female,
cluster="idschool", family="binomial")
summary(mod2)
Run Code Online (Sandbox Code Playgroud)
给出与 Stata 命令相同的稳健标准误差
logit highmath hisei female, vce(cluster idschool)
Run Code Online (Sandbox Code Playgroud)
例如,变量 的标准误差为 0.004038 hisei。
| 归档时间: |
|
| 查看次数: |
12341 次 |
| 最近记录: |