После небольшой настройки я обнаружил, что пакет R's plm
может использовать несколько фиксированных эффектов (по крайней мере, на обоих уровнях индекса)
## estimate the model
model5 = plm( ln_wage ~ grade + age + ttl_exp + tenure+ not_smsa + south + as.factor(year), data=df, index=c('idcode', 'year'), model="with", effect="time")
summary(model5)[1:7,1:4] # <- this gives unclustered errors
coeftest(model5, vcov=vcovHC(model5,type="HC0",cluster="group")) [1:7,1:4] # <- this gives clustered errors
Вышеуказанное равно фиксированным по времени эффектам и численно напоминает Statas reghdfe
команда
reghdfe ln_w grade age ttl_exp tenure not_smsa south, abs(year) cluster(idcode)
Точно так же, если вы хотите оба фиксированных эффекта, где в Stata вы должны:
reghdfe ln_w grade age ttl_exp tenure not_smsa south, abs(idcode year) cluster(idcode)
в R, вы можете использовать:
model5 = plm( ln_wage ~ grade + age + ttl_exp + tenure+ not_smsa + south + as.factor(year), data=df, index=c('idcode', 'year'), model="with", effect="twoways")
summary(model5) # <- this gives unclustered errors
coeftest(model5, vcov=vcovHC(model5,type="HC0",cluster="group")) # <- this gives clustered errors