Linear Group Fixed Effects

Transforms away factors with many levels prior to doing an OLS. Useful for estimating linear models with multiple group fixed effects, and for estimating linear models which uses factors with many levels as pure control variables. See Gaure (2013) Includes support for instrumental variables, conditional F statistics for weak instruments, robust and multi-way clustered standard errors, as well as limited mobility bias correction (Gaure 2014 ). Since version 3.0, it provides dedicated functions to estimate Poisson models.


lfe

R-CMD-check

The goal of lfe is to speed up the estimation of linear models with large fixed effects. It includes support for instrumental variables, conditional F statistics for weak instruments, robust and multi-way clustered standard errors, as well as limited mobility bias correction. See Gaure (2013) doi:10.1016/j.csda.2013.03.024 and Gaure 2014 doi:10.1002/sta4.68.

Installation

You can install the released version of lfe from CRAN with:

install.packages("lfe")

You can install the development version of lfe like so:

remotes::install_github("MatthieuStigler/lfe")

Example

This is a basic example which shows you the speed improvement over base R for fixed effects estimation.

library(lfe) # fixed effects estimation
library(tradepolicy) # intl trade data
library(dplyr) # data cleaning/transforming

training_data <- agtpa_applications %>%
  mutate(
    log_trade = log(trade),
    log_dist = log(dist),
    exp_year = paste(exporter, year, sep = "_"),
    imp_year = paste(importer, year, sep = "_")
  ) %>%
  filter(trade > 0, exporter != importer, year %in% seq(1986, 2006, 4)) %>%
  select(year, log_trade, log_dist, cntg, lang, clny, rta, exp_year, imp_year)

# note the difference with the | operator to indicate the FEs
# this is just an example, here I am not estimating a PPML model or anything
# in the state of the art
fml1 <- 0 + log_trade ~
  log_dist + cntg + lang + clny + rta + exp_year + imp_year # base

fml2 <- log_trade ~
  log_dist + cntg + lang + clny + rta | exp_year + imp_year # lfe

lm(fml1, data = training_data)

felm(fml2, data = training_data)

Testing

For a complete test with devtools::check(), you need to run sudo apt-get install devtools or similar before. The package is written in C, in the future I shall try to rewrite it in C++ to ease long term maintenance.

The package also needs additional testing. At the present time,the tests it cover around 30% of the written lines.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("lfe")

3.1.1 by Mauricio Vargas Sepulveda, 2 years ago


https://github.com/r-econometrics/lfe


Report a bug at https://github.com/r-econometrics/lfe/issues


Browse source code at https://github.com/cran/lfe


Authors: Simen Gaure [aut] , Grant McDermott [ctb] , Mauricio Vargas Sepulveda [ctb, cre] , Karl Dunkle Werner [ctb] , Matthieu Stigler [ctb] , Daniel Lüdecke [ctb]


Documentation:   PDF Manual  


Apache License (>= 2) license


Imports Formula, xtable, compiler, utils, methods, sandwich, parallel

Depends on Matrix

Suggests knitr, digest, igraph, plm, cubature, numDeriv, data.table, alpaca


Imported by connected, interflex, ivDiag, partialling.out.

Suggested by HonestDiD, OneSampleMR, SpatialInference, SpatialRDD, alpaca, broom, broom.helpers, fastconley, fixest, getspanel, insight, modelsummary, parameters, plm, sdcLog, spliv.

Enhanced by stargazer, texreg.


See at CRAN