Estou usando lfe e fixest pacotes para executar regressões com efeitos fixos de alta dimensão. Para essas regressões, gostaria de agrupar os erros padrão por várias dimensões (por exemplo, produto, destino e tempo). No entanto, estou confuso sobre a sintaxe e como ela difere entre os comandos felm e feols. O agrupamento nos dois modelos a seguir seria equivalente?

EDITAR: Executei os dois modelos e descobri que m2 tem erros padrão maiores do que 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) 

Comentários

  • Talvez tente e veja? Se você obtiver resultados diferentes, edite-os em sua pergunta.

Resposta

Na verdade, não há uma maneira única de calcule os erros-padrão. A maneira como são calculados em fixest e como se comparam a lfe são explicados neste vinheta .

Também havia alguns bugs ( menores ) nos SEs na fixest versão < 0.6.0 tornando os SEs um pouco diferentes.

Aqui está uma comparação relacionada ao seu exemplo com dados de brinquedos:

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 

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *