동료의 작업을 복제하려고하고 분석을 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- 아르 자형/
그것은 내가 원하는 것을 수행하는 매우 간단한 코드를 가리 킵니다.
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에서 작동하도록 설계 되었기 때문일 것입니다. 검색이 계속됩니다. 내가 잘못 가고있는 곳에 대한 조언은 크게 감사하겠습니다.
답변
이 문서는 glm 회귀 분석을 위해 클러스터 SE를 얻는 방법을 보여줍니다.
답변
이것은 완전히 만족스러운 답변이 아닙니다 …
나는 그것을 직접 시도하지는 않았지만 glmmADMB 패키지 가 원하는 것을 할 수있는 것처럼 보입니다 .
나는 질문에 대한 @fmark의 의견에서 뻔뻔스럽게 핀치하고 Ben Bolker의 노트 가이 이전 질문 과 마찬가지로 유용 하다는 데 동의 합니다.