CRAN Task View: Econometrics

Base R ships with a lot of functionality useful for computational
econometrics, in particular in the stats package. This
functionality is complemented by many packages on CRAN, a brief overview
is given below. There is also a considerable overlap between the tools
for econometrics in this view and those in the task views on
Finance,
SocialSciences, and
TimeSeries.
Furthermore, the
Finance SIG
is a suitable mailing list for obtaining help
and discussing questions about both computational finance and econometrics.

The packages in this view can be roughly structured into the following topics.
If you think that some package is missing from the list, please contact the maintainer.

Basic linear regression

Estimation and standard inference
: Ordinary least squares (OLS) estimation for linear models is provided
by
lm()
(from stats) and standard tests for model comparisons are available in various
methods such as
summary()
and
anova().

Further inference and nested model comparisons
: Functions analogous to
the basic
summary()
and
anova()
methods
that also support asymptotic tests (
z
instead of
t
tests, and
Chi-squared instead of
F
tests) and plug-in of other covariance
matrices are
coeftest()
and
waldtest()
in
lmtest.
Tests of more general linear hypotheses are implemented in
linearHypothesis()
and for nonlinear hypotheses in
deltaMethod()
in
car.

Robust standard errors
: HC and HAC covariance matrices are available in
sandwich
and can be plugged into the inference functions mentioned above.

Diagnostic checking
: The packages
car
and
lmtest
provide a large collection
of regression diagnostics and diagnostic tests.

Microeconometrics

Generalized linear models (GLMs)
: Many standard microeconometric models belong to the
family of generalized linear models and can be fitted by
glm()
from package stats. This includes in particular logit and probit models
for modeling choice data and Poisson models for count data. Effects for typical
values of regressors in these models can be obtained and visualized using
effects.
Marginal effects tables for certain GLMs can be obtained using the
mfx
and
margins
packages. Interactive visualizations of both effects and marginal
effects are possible in
LinRegInteractive.

Binary responses
: The standard logit and probit models (among many others) for binary
responses are GLMs that can be estimated by
glm()
with
family = binomial.
Bias-reduced GLMs that are robust to complete and quasi-complete separation are provided by
brglm. Discrete choice models estimated by simulated maximum likelihood are
implemented in
Rchoice. Heteroscedastic probit models (and other heteroscedastic
GLMs) are implemented in
glmx
along with parametric link functions and goodness-of-link
tests for GLMs.

Count responses
: The basic Poisson regression is a GLM that can be estimated by
glm()
with
family = poisson
as explained above.
Negative binomial GLMs are available via
glm.nb()
in package
MASS.
Another implementation of negative binomial models
is provided by
aod, which also contains other models for overdispersed
data. Zero-inflated and hurdle count models are provided in package
pscl.
A reimplementation by the same authors is currently under development in
countreg
on R-Forge which also encompasses separate functions for zero-truncated regression,
finite mixture models etc.

Multinomial responses
: Multinomial models
with individual-specific covariates only are available in
multinom()
from package
nnet. Implementations with both individual- and
choice-specific variables are
mlogit
and
mnlogit. Generalized
multinomial logit models (e.g., with random effects etc.) are in
gmnl.
Generalized additive models
(GAMs) for multinomial responses can be fitted with the
VGAM
package.
A Bayesian approach to multinomial probit models is provided by
MNP.
Various Bayesian multinomial models (including logit and probit) are available
in
bayesm. Furthermore, the package
RSGHB
fits various
hierarchical Bayesian specifications based on direct specification of the likelihood
function.

Ordered responses
: Proportional-odds regression for ordered responses is implemented
in
polr()
from package
MASS. The package
ordinal
provides cumulative link models for ordered data which encompasses proportional
odds models but also includes more general specifications. Bayesian ordered probit
models are provided by
bayesm.

Censored responses
: Basic censored regression models (e.g., tobit models)
can be fitted by
survreg()
in
survival, a convenience
interface
tobit()
is in package
AER. Further censored
regression models, including models for panel data, are provided in
censReg.
Interval regression models are in
intReg. Censored regression models with
conditional heteroscedasticity are in
crch.
Furthermore, hurdle models for left-censored data at zero can be estimated with
mhurdle. Models for sample selection are available in
sampleSelection
and semiparametric extensions of these are provided by
SemiParSampleSel.
Package
matchingMarkets
corrects for selection bias when the sample is the
result of a stable matching process (e.g., a group formation or college admissions problem).

Fraction and proportion responses
: Fractional response models are in
frm.
Beta regression for responses in (0, 1) is in
betareg
and
gamlss.

Miscellaneous
: Further more refined tools for microeconometrics are provided in
the
micEcon
family of packages: Analysis with
Cobb-Douglas, translog, and quadratic functions is in
micEcon;
the constant elasticity of scale (CES) function is in
micEconCES;
the symmetric normalized quadratic profit (SNQP) function is in
micEconSNQP.
The almost ideal demand system (AIDS) is in
micEconAids.
Stochastic frontier analysis (SFA) is in
frontier
and certain special cases also in
sfa.
Semiparametric SFA in is available in
semsfa
and spatial SFA in
spfrontier
and
ssfa.
The package
bayesm
implements a Bayesian approach to microeconometrics and marketing.
Estimation and marginal effect computations for multivariate probit models can be carried out with
mvProbit.
Inference for relative distributions is contained in package
reldist.

Instrumental variables

Basic instrumental variables (IV) regression
: Two-stage least squares (2SLS)
is provided by
ivreg()
in
AER. Other implementations are in
tsls()
in package
sem, in
ivpack, and
lfe
(with particular
focus on multiple group fixed effects).

Binary responses
: An IV probit model via GLS estimation
is available in
ivprobit. The
LARF
package estimates
local average response functions for binary treatments and binary instruments.

Panel-corrected standard errors
: A simple approach for panel data is
to fit the pooling (or independence) model (e.g., via
lm()
or
glm())
and only correct the standard errors. Different types of panel-corrected standard
errors are available in
multiwayvcov,
clusterSEs,
pcse,
clubSandwich,
plm,
and
geepack, respectively. The latter two require estimation of the
pooling/independence models via
plm()
and
geeglm()
from
the respective packages (which also provide other types of models, see below).

Linear panel models
:
plm, providing a wide range of within,
between, and random-effect methods (among others) along with corrected standard
errors, tests, etc. Another implementation of several of these models is in
Paneldata. Various dynamic panel models are available in
plm
and dynamic panel models with fixed effects in
OrthoPanels.

Heterogeneous time trends
:
phtt
offers the possibility of
analyzing panel data with large dimensions n and T and can be considered when
the unobserved heterogeneity effects are time-varying.

Miscellaneous
:
Multiple group fixed effects are in
lfe.
Autocorrelation and heteroscedasticity correction in are available in
wahc
and
panelAR.
PANIC Tests of nonstationarity are in
PANICr.
Threshold regression and unit root tests are in
pdR.
The panel data approach method for program evaluation is available in
pampe.

Spatial econometric models
: The
Spatial
view gives details about
handling spatial data, along with information about (regression) modeling. In particular,
spatial regression models can be fitted using
spdep
and
sphet
(the
latter using a GMM approach).
splm
is a package for spatial panel
models. Spatial probit models are available in
spatialprobit.

Miscellaneous
: The packages
VGAM,
rms
and
Hmisc
provide several tools for extended
handling of (generalized) linear regression models.
Zelig
is a unified
easy-to-use interface to a wide range of regression models.

Time series data and models

The
TimeSeries
task view provides much more detailed
information about both basic time series infrastructure and time series models.
Here, only the most important aspects relating to econometrics are briefly mentioned.
Time series models for financial econometrics (e.g., GARCH, stochastic volatility models, or
stochastic differential equations, etc.) are described in the
Finance
task view.

Infrastructure for regularly spaced time series
: The class
"ts"
in package stats is R's standard class for
regularly spaced time series (especially annual, quarterly, and monthly data). It can be
coerced back and forth without loss of information to
"zooreg"
from package
zoo.

Infrastructure for irregularly spaced time series
:
zoo
provides infrastructure for
both regularly and irregularly spaced time series (the latter via the class
"zoo") where the time information can be of arbitrary class.
This includes daily series (typically with
"Date"
time index)
or intra-day series (e.g., with
"POSIXct"
time index). An extension
based on
zoo
geared towards time series with different kinds of
time index is
xts. Further packages aimed particularly at
finance applications are discussed in the
Finance
task view.

Classical time series models
: Simple autoregressive models can be estimated
with
ar()
and ARIMA modeling and Box-Jenkins-type analysis can be
carried out with
arima()
(both in the stats package). An enhanced
version of
arima()
is in
forecast.

Linear regression models
: A convenience interface to
lm()
for estimating OLS and 2SLS models based on time series data is
dynlm.
Linear regression models with AR error terms via GLS is possible
using
gls()
from
nlme.

Structural time series models
: Standard models can be fitted with
StructTS()
in stats.
Further packages are discussed in the
TimeSeries
task view.

Filtering and decomposition
:
decompose()
and
HoltWinters()
in stats. The basic function for computing filters (both rolling and autoregressive) is
filter()
in stats. Many extensions to these methods, in particular for
forecasting and model selection, are provided in the
forecast
package.

Vector autoregression
: Simple models can be fitted by
ar()
in stats, more
elaborate models are provided in package
vars
along with suitable diagnostics,
visualizations etc. A Bayesian approach is available in
MSBVAR.

Textbooks and journals
: Packages
AER,
Ecdat, and
wooldridge
contain a comprehensive collections of data sets from various standard econometric
textbooks as well as several data sets from the Journal of
Applied Econometrics and the Journal of Business & Economic Statistics
data archives.
AER
and
wooldridge
additionally provide extensive sets of
examples reproducing analyses from the textbooks/papers, illustrating
various econometric methods. In
pder
a wide collection of data sets for
panel data econometrics with R is available.

Penn World Table
:
pwt
provides versions 5.6, 6.x, 7.x. Version 8.x and 9.x
data are available in
pwt8
and
pwt9, respectively.

Time series and forecasting data
: The packages
expsmooth,
fma, and
Mcomp
are
data packages with time series data
from the books 'Forecasting with Exponential Smoothing: The State Space Approach'
(Hyndman, Koehler, Ord, Snyder, 2008, Springer) and 'Forecasting: Methods and Applications'
(Makridakis, Wheelwright, Hyndman, 3rd ed., 1998, Wiley) and the M-competitions,
respectively.

Empirical Research in Economics
: Package
erer
contains functions and datasets for the book of
'Empirical Research in Economics: Growing up with R' (Sun, forthcoming).

Panel Study of Income Dynamics (PSID)
:
psidR
can build panel data sets
from the Panel Study of Income Dynamics (PSID).

World Bank data and statistics: The
wbstats
package provides
programmatic access to the World Bank API.

Miscellaneous

Matrix manipulations
: As a vector- and matrix-based language, base R
ships with many powerful tools for doing matrix manipulations, which are
complemented by the packages
Matrix
and
SparseM.

Optimization and mathematical programming
: R and many of its contributed
packages provide many specialized functions for solving particular optimization
problems, e.g., in regression as discussed above. Further functionality for
solving more general optimization problems, e.g., likelihood maximization, is
discussed in the the
Optimization
task view.

Bootstrap
: In addition to the recommended
boot
package,
there are some other general bootstrapping techniques available in
bootstrap
or
simpleboot
as well some bootstrap techniques
designed for time-series data, such as the maximum entropy bootstrap in
meboot
or the
tsbootstrap()
from
tseries.

Inequality
: For measuring inequality, concentration and poverty the
package
ineq
provides some basic tools such as Lorenz curves,
Pen's parade, the Gini coefficient and many more.

Structural change
: R is particularly strong when dealing with
structural changes and changepoints in parametric models, see
strucchange
and
segmented.

Exchange rate regimes
: Methods for inference about exchange
rate regimes, in particular in a structural change setting, are provided
by
fxregime.

Global value chains
: Tools and decompositions for global value
chains are in
gvc
and
decompr.