lfe
및 fixest
패키지를 사용하여 고차원 고정 효과로 회귀를 실행합니다. 이러한 회귀의 경우 표준 오류를 여러 차원 (예 : 제품, 목적지 및 시간)별로 클러스터링하고 싶습니다. 그러나 혼란 스럽습니다. 구문 및 felm
및 feols
명령 간의 차이점에 대해 설명합니다. 다음 두 모델의 클러스터링이 동일합니까?
편집 : 두 모델을 실행 한 결과 m2가 m1보다 더 큰 표준 오류를 가지고 있음을 발견했습니다.
m1 <- felm(y ~ x1+ x2 | fe1 + fe2|0|product + destination + time, data=df) #with lfe package summary(m1) m2 <- feols(y ~ x1+ x2 | fe1 + fe2, data=df) #with fixest package summary(m2, cluster=~product + destination + time)
댓글
- 해보시겠습니까? 다른 결과가 나오면 질문을 수정하세요.
답변
사실 한 가지 방법은 없습니다. 표준 오류를 계산합니다. fixest
에서 계산되는 방식과 lfe
와 비교되는 방식은이 vignette .
fixest
버전 iv의 SE에는 몇 가지 ( 사소한 ) 버그도있었습니다. id = “b1c8c1ee90″>
0.6.0으로 SE가 약간 다르게 보입니다.
다음은 “장난감 데이터를 사용한 예와 관련된 비교입니다.
library(fixest) ; library(lfe) data(trade) est_felm = felm(log(Euros) ~ log(dist_km) | Origin + Destination | 0 | Origin + Destination + Year, trade) est_feols = feols(log(Euros) ~ log(dist_km) | Origin + Destination, trade) # Same SEs but different p-values coeftable(est_felm) #> Estimate Cluster s.e. t value Pr(>|t|) #> log(dist_km) -2.072132 0.1516212 -13.66651 2.525297e-07 coeftable(est_feols, cluster = ~ Origin + Destination + Year) #> Estimate Std. Error t value Pr(>|t|) #> log(dist_km) -2.072132 0.1516212 -13.66651 2.024366e-42 # Same SEs and p-values (t.df is explained in the vignette) coeftable(est_feols, cluster = ~ Origin + Destination + Year, dof = dof(t.df = "min")) #> Estimate Std. Error t value Pr(>|t|) #> log(dist_km) -2.072132 0.1516212 -13.66651 2.525297e-07