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