r-probit带有集群标准错误-相当于Stata命令



我在Stata中有以下probit命令,并在R:中查找等效代码

probit mediation viol ethniccomp  lncrisisdur  lncapratio  lnten_mean durable_avg neighbors totaldem_nbrhd geostr medprev jointdem if newcrisis==1, cluster(crisno)

然而,我能够复制系数的估计结果,而不是校正的标准误差(聚类)

probit.3.1_1 <- glm(mediation ~           viol+ethniccomp+lncrisisdur+lncapratio+lnten_mean+durable_avg+neighbors+
                    totaldem_nbrhd+geostr+medprev+jointdem,
                    data=as.data.frame(basedata[basedata$newcrisis==1,]), family=binomial (link=probit)) 

我基本上是在为Stata选项cluster(crisno)寻找R中的等价项。

我看到这个答复,但据我所知,建议的解决方案只是指logit,而不是probit。

我不知道分析解决方案,所以我会使用boot包中的boot在R中使用块引导。

以下是我将要进行基准测试的Stata代码。

cd "C:UsersRichardDesktop"
use "http://www.ats.ucla.edu/stat/stata/dae/binary.dta", clear
generate group = int((_n - 1) / 20) + 1
probit admit gpa gre, vce(cluster group)
outsheet using "binary.txt", replace

这里是R中的等价项。第二个块在group上提供块引导,这是我在Stata中创建的一个随机聚类变量。

setwd("C:/Users/Richard/Desktop/")
df <- read.delim("binary.txt")
# homoskedastic
probit <- glm(admit ~ gpa + gre, data=df, family=binomial(link=probit)) 
# with block bootstrap using `boot` package
library(boot)
myProbit <- function(x, y) {
    myDf <- do.call("rbind", lapply(y, function(n) subset(df, group == x[n])))
    myModel <- glm(admit ~ gpa + gre, data=myDf, family=binomial(link=probit))
    coefficients(myModel)
}
groups <- unique(df$group)
probitBS <- boot(groups, myProbit, 500)
# comparison
summary(probit)
probitBS

它们非常接近(Stata结果之后是R块引导结果)。

Probit regression                                 Number of obs   =        400
                                                  Wald chi2(2)    =      24.03
                                                  Prob > chi2     =     0.0000
Log pseudolikelihood =   -240.094                 Pseudo R2       =     0.0396
                                 (Std. Err. adjusted for 20 clusters in group)
------------------------------------------------------------------------------
             |               Robust
       admit |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         gpa |    .454575   .1531717     2.97   0.003     .1543641    .7547859
         gre |   .0016425   .0006404     2.56   0.010     .0003873    .0028977
       _cons |  -3.003536    .520864    -5.77   0.000    -4.024411   -1.982662
------------------------------------------------------------------------------
> probitBS
ORDINARY NONPARAMETRIC BOOTSTRAP

Call:
boot(data = groups, statistic = myProbit, R = 500)

Bootstrap Statistics :
        original        bias     std. error
t1* -3.003535745 -3.976856e-02 0.5420935780
t2*  0.454574799  3.781773e-03 0.1530609943
t3*  0.001642537  4.200797e-05 0.0006210689

最新更新