I ”m käyttämällä lfe ja fixest -paketit regressioiden suorittamiseksi korkean ulottuvuuden kiinteillä vaikutuksilla. Näitä regressioita varten haluaisin klusteroida standardivirheet useilla ulottuvuuksilla (esim. Tuote, kohde ja aika). Olen kuitenkin hämmentynyt syntaksista ja miten se eroaa komentojen felm ja feols välillä. Olisiko kahden seuraavan mallin ryhmittely vastaava?

EDIT: Juoksin nämä kaksi mallia ja huomasin, että m2: llä on suuremmat vakiovirheet kuin 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) 

kommentit

  • Ehkä kokeiletko ja katsotko? Jos saat erilaisia tuloksia, muokkaa sitä kysymykseesi.

Vastaa

Oikeastaan ei ole yhtä tapaa Laske standardivirheet. Tapa, jolla ne lasketaan: fixest ja miten ne verrataan lfe -sarjaan, selitetään tässä vinjetti .

SE-maissa oli myös pari ( pieniä ) vikaa fixest -versiossa < 0.6.0, jolloin SE: t näyttävät hieman erilaisilta.

Tässä on esimerkkisi ja lelutietojen vertailu:

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 

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *