我试图将Stata中的logit回归复制到R中。在Stata中,我使用"robust"选项来获得健壮的标准误差(异方差性一致的标准误差)。我能够复制出与Stata完全相同的系数,但是我无法通过"sanwich"包获得相同的健壮的标准误差。
我尝试了一些OLS线性回归例子;似乎R和Stata的sandwich估计器给我相同的OLS健壮标准误差。 有人知道Stata如何为非线性回归计算三明治估计量吗? 在我的情况下是logit回归?
谢谢!
代码已附:
library(sandwich)
library(lmtest)
mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")
mydata$rank<-factor(mydata$rank)
myfit<-glm(admit~gre+gpa+rank,data=mydata,family=binomial(link="logit"))
summary(myfit)
coeftest(myfit, vcov = sandwich)
coeftest(myfit, vcov = vcovHC(myfit, "HC0"))
coeftest(myfit, vcov = vcovHC(myfit))
coeftest(myfit, vcov = vcovHC(myfit, "HC3"))
coeftest(myfit, vcov = vcovHC(myfit, "HC1"))
coeftest(myfit, vcov = vcovHC(myfit, "HC2"))
coeftest(myfit, vcov = vcovHC(myfit, "HC"))
coeftest(myfit, vcov = vcovHC(myfit, "const"))
coeftest(myfit, vcov = vcovHC(myfit, "HC4"))
coeftest(myfit, vcov = vcovHC(myfit, "HC4m"))
coeftest(myfit, vcov = vcovHC(myfit, "HC5"))
Stata:
use http://www.ats.ucla.edu/stat/stata/dae/binary.dta, clear
logit admit gre gpa i.rank, robust