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

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()`

inlmtest . Tests of more general linear hypotheses are implemented in`linearHypothesis()`

and for nonlinear hypotheses in`deltaMethod()`

incar .*Robust standard errors*: HC and HAC covariance matrices are available insandwich and can be plugged into the inference functions mentioned above.*Nonnested model comparisons*: Various tests for comparing non-nested linear models are available inlmtest (encompassing test, J test, Cox test). The Vuong test for comparing other non-nested models is provided bynonnest2 (and specifically for count data regression inpscl ).*Diagnost checking*: The packagescar andlmtest provide a large collection of regression diagonstics 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 usingeffects . Marginal effects tables for certain GLMs can be obtained using themfx package. Interactive visualizations of both effects and marginal effects are possible inLinRegInteractive .*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 bybrglm . Discrete choice models estimated by simulated maximum likelihood are implemented inRchoice . Heteroskedastic probit models (and other heteroskedastic GLMs) are implemented inglmx 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 packageMASS . Another implementation of negative binomial models is provided byaod , which also contains other models for overdispersed data. Zero-inflated and hurdle count models are provided in packagepscl . A reimplementation by the same authors is currently under development incountreg 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 packagennet . Implementations with both individual- and choice-specific variables aremlogit andmnlogit . Generalized multinomial logit models (e.g., with random effects etc.) are ingmnl . Generalized additive models (GAMs) for multinomial responses can be fitted with theVGAM package. A Bayesian approach to multinomial probit models is provided byMNP . Various Bayesian multinomial models (including logit and probit) are available inbayesm . Furthermore, the packageRSGHB 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 packageMASS . The packageordinal provides cumulative link models for ordered data which encompasses proportional odds models but also includes more general specifications. Bayesian ordered probit models are provided bybayesm .*Censored responses*: Basic censored regression models (e.g., tobit models) can be fitted by`survreg()`

insurvival , a convenience interface`tobit()`

is in packageAER . Further censored regression models, including models for panel data, are provided incensReg . Interval regression models are inintReg . Censored regression models with conditional heteroskedasticity are incrch . Furthermore, hurdle models for left-censored data at zero can be estimated withmhurdle . Models for sample selection are available insampleSelection and semiparametric extensions of these are provided bySemiParSampleSel . PackagematchingMarkets corrects for selection bias when the sample is the result of a stable matching process (e.g., a group formation or college admissions problem).*Truncated responses*:truncreg for truncated Gaussian responses.*Fraction and proportion responses*: Fractional response models are infrm . Beta regression for responses in (0, 1) is inbetareg andgamlss .*Miscellaneous*: Further more refined tools for microecnometrics are provided in themicEcon family of packages: Analysis with Cobb-Douglas, translog, and quadratic functions is inmicEcon ; the constant elasticity of scale (CES) function is inmicEconCES ; the symmetric normalized quadratic profit (SNQP) function is inmicEconSNQP . The almost ideal demand system (AIDS) is inmicEconAids . Stochastic frontier analysis (SFA) is infrontier and semiparametric SFA insemsfa . The packagebayesm implements a Bayesian approach to microeconometrics and marketing. Estimation and marginal effect computations for multivariate probit models can be carried out withmvProbit . Inference for relative distributions is contained in packagereldist .

**Instrumental variables**

*Basic instrumental variables (IV) regression*: Two-stage least squares (2SLS) is provided by`ivreg()`

inAER . Other implementations are in`tsls()`

in packagesem , inivpack , andlfe (with particular focus on multiple group fixed effects).*Binary responses*: An IV probit model via GLS estimation is available inivprobit . TheLARF package estimates local average response functions for binary treatments and binary instruments.*Panel data*: Certain basic IV models for panel data can also be estimated with standard 2SLS functions (see above). Dedicated IV panel data models are provided byivfixed (fixed effects) andivpanel (between and random effects).*Miscellaneous*:ivbma estimates Bayesian IV models with conditional Bayes factors.ivlewbel implements the Lewbel approach based on GMM estimation of triangular systems using heteroscedasticity-based IVs.

**Panel data models**

*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 inmultiwayvcov ,pcse ,plm , andgeepack , 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 inPaneldata .*Generalized estimation equations and GLMs*: GEE models for panel data (or longitudinal data in statistical jargon) are ingeepack . Thepglm package provides estimation of GLM-like models for panel data.*Mixed effects models*: Linear and nonlinear models for panel data (and more general multi-level data) are available inlme4 andnlme .*Instrumental variables*:ivfixed andivpanel , see also above.*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 inlfe . Autocorrelation and heteroskedasticity correction in are available inwahc andpanelAR . PANIC Tests of nonstationarity are inPANICr . Threshold regression and unit root tests are inpdR . The panel data approach method for program evaluation is available inpampe .

**Further regression models**

*Nonlinear least squares modeling*:`nls()`

in package stats.*Quantile regression*:quantreg (including linear, nonlinear, censored, locally polynomial and additive quantile regressions).*Generalized method of moments (GMM) and generalized empirical likelihood (GEL)*:gmm .*Spatial econometric models*: TheSpatial view gives details about handling spatial data, along with information about (regression) modeling. In particular, spatial regression models can be fitted usingspdep andsphet (the latter using a GMM approach).splm is a package for spatial panel models. Spatial probit models are available inspatialprobit .*Bayesian model averaging (BMA)*: A comprehensive toolbox for BMA is provided byBMS including flexible prior selection, sampling, etc. A different implementation is inBMA for linear models, generalizable linear models and survival models (Cox regression).*Linear structural equation models*:lavaan andsem .*Simultaneous equation estimation*:systemfit .*Nonparametric kernel methods*:np .*Linear and nonlinear mixed-effect models*:nlme andlme4 .*Generalized additive models (GAMs)*:mgcv ,gam ,gamlss andVGAM .*Miscellaneous*: The packagesVGAM ,rms andHmisc 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 theFinance . *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 packagezoo .*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 onzoo geared towards time series with different kinds of time index isxts . Further packages aimed particularly at finance applications are discussed in theFinance 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 inforecast .*Linear regression models*: A convenience interface to`lm()`

for estimating OLS and 2SLS models based on time series data isdynlm . Linear regression models with AR error terms via GLS is possible using`gls()`

fromnlme .*Structural time series models*: Standard models can be fitted with`StructTS()`

in stats. Further packages are discussed in theTimeSeries 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 theforecast package.*Vector autoregression*: Simple models can be fitted by`ar()`

in stats, more elaborate models are provided in packagevars along with suitable diagnostics, visualizations etc. A Bayesian approach is available inMSBVAR .*Unit root and cointegration tests*:urca ,tseries ,CADFtest .*Miscellaneous*: Threshold and smooth transistion models intsDyn . Time series factor analysis intsfa . Asymmetric price transmission models inapt .

**Data sets**

*Textbooks and journals*: PackagesAER andEcdat 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 additionally provides an extensive set of examples reproducing analyses from the textbooks/papers, illustrating various econometric methods.*Tsay's 'Analysis of Financial Time Series'*:FinTS is the R companion to Tsay's 'Analysis of Financial Time Series' (2nd ed., 2005, Wiley) containing data sets, functions and script files required to work some of the examples.*Canadian monetary aggregates*:CDNmoney .*Penn World Table*:pwt provides versions 5.6, 6.x, 7.x. Version 8.x data are available inpwt8 .*Time series and forecasting data*: The packagesexpsmooth ,fma , andMcomp 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*: Packageerer 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).

**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 packagesMatrix andSparseM .*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 theOptimization task view.*Bootstrap*: In addition to the recommendedboot package, there are some other general bootstrapping techniques available inbootstrap orsimpleboot as well some bootstrap techniques designed for time-series data, such as the maximum entropy bootstrap inmeboot or the`tsbootstrap()`

fromtseries .*Inequality*: For measuring inequality, concentration and poverty the packageineq 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, seestrucchange andsegmented .*Exchange rate regimes*: Methods for inference about exchange rate regimes, in particular in a structural change setting, are provided byfxregime .