Learn R Programming

The plm Package - Linear Models and Tests for Panel Data

About

plm is a package for panel data econometrics for the R statistical computing environment. The package includes functions for model estimation, testing, robust covariance matrix estimation, panel data manipulation and information. It was first published on CRAN in 2006.

Be sure to read the NEWS on CRAN (or in the development repository) for any changes in new releases (new features, bugfixes, other improvements, ...).

Non-exhaustive function overview:

  • Functions to estimate models:

    • plm: panel data estimators (within/fixed effects, random effects, between, first-difference, nested random effects), incl. instrumental-variable estimation techniques (IV) and Hausman-Taylor-style models,
    • pgmm: generalized method of moments (GMM) estimation for panel data,
    • pggls: estimation of general feasible generalized least squares models,
    • pmg: mean groups (MG), demeaned MG and common correlated effects (CCEMG) estimators,
    • pcce: estimators for common correlated effects mean groups (CCEMG) and pooled (CCEP) for panel data with common factors,
    • pvcm: variable coefficients models,
    • pldv: panel estimators for limited dependent variables.
  • Testing functions:

    • model specification (phtest, pFtest, pooltest, plmtest, pwaldtest, piest, aneweytest, mtest, sargan),
    • serial correlation (pbgtest, pwfdtest, pbnftest, pdwtest, pwartest, pbsytest, pbltest),
    • cross-sectional dependence (pcdtest),
    • panel unit root (purtest, cipstest, phansitest),
    • panel Granger (non-)causality (pgrangertest).
  • Robust covariance matrix estimators (incl. various weighting schemes for small sample adjustment):

    • vcovHC: Arellano (1987), White (1980),
    • vcovBK: Beck and Katz (1995) (PCSE),
    • vcovNW: Newey and West (1987),
    • vcovDC: double-clustering robust (Thompson (2011), Cameron et al. (2011)),
    • vcovSCC: Driscoll and Kraay (1998).
  • An enhanced data frame, called pdata.frame, to deal with data sets for which observations are identified by a combination of two indexes.

  • Panel data transformation functions (e.g., Within, Between, between, lag, lead, diff).

  • Other functions relating to panel data sets, e.g.:

    • checks for panel data dimensions (individual, time, group) and balancedness (pdim),
    • checks for panel balancedness (is.pbalanced) and consecutiveness (regularity) (is.pconsecutive) as well as functions to change data to conform to these properties (make.pbalanced, make.pconsecutive),
    • measures for unbalancedness of data (punbalancedness) (Ahrens/Pincus (1981)).

Installation

To install the released version from CRAN:

install.packages("plm")

The package's CRAN website is https://cran.r-project.org/package=plm.

The development of package plm takes place on GitHub at https://github.com/ycroissant/plm. To install the development version from GitHub, use, e.g.:

# install.packages("remotes") # remove '#' if pkg 'remotes' is not installed
remotes::install_github("ycroissant/plm")

Documentation

Package plm comes with documentation: Besides the usual help pages for each function, the vignettes provide a gentle introduction to the package and some functions. Vignettes are available at the package's CRAN website https://cran.r-project.org/package=plm and can be browsed from within R by browseVignettes("plm").

New package users are advised to start with the first vignette Panel data econometrics in R: the plm package for an overview of the package. A more in-depth treatment of estimation of error component models and instrument variable models is in the second vignette Estimation of error component models with the plm function.

Further, many textbooks treat package plm and/or use it in their examples:

  • Croissant/Millo, Panel Data Econometrics with R, 2019, John Wiley & Sons, Hoboken.

  • Kleiber/Zeileis, Applied Econometrics with R, 2008, Springer, New York. Esp. chapter 3.6.

  • Hanck/Arnold/Gerber/Schmelzer, Econometrics with R, online book https://www.econometrics-with-r.org/. Esp. chapter 10.

  • Heiss, Using R for Introductory Econometrics, 2nd edition, 2020, Independent Publishing, Düsseldorf, also available online at http://www.urfie.net/. A companion book using R to Wooldridge, Introductory Econometrics, esp. chapters 13-14.

Copy Link

Version

Install

install.packages('plm')

Monthly Downloads

47,217

Version

2.6-6

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Kevin Tappe

Last Published

April 4th, 2025

Functions in plm (2.6-6)

Gasoline

Gasoline Consumption
EmplUK

Employment and Wages in the United Kingdom
Hedonic

Hedonic Prices of Census Tracts in the Boston Area
Males

Wages and Education of Young Males
RiceFarms

Production of Rice in Indonesia
Snmesp

Employment and Wages in Spain
ercomp

Estimation of the error components
SumHes

The Penn World Table, v. 5
fixef.plm

Extract the Fixed Effects
is.pseries

Check if an object is a pseries
cortab

Cross--sectional correlation matrix
Wages

Panel Data of Individual Wages
lag.plm

lag, lead, and diff for panel data
has.intercept

Check for the presence of an intercept in a formula or in a fitted model
index.plm

Extract the indexes of panel data
detect.lindep

Functions to detect linear dependence
make.pconsecutive

Make data consecutive (and, optionally, also balanced)
aneweytest

Angrist and Newey's version of Chamberlain test for fixed effects
cipstest

Cross-sectionally Augmented IPS Test for Unit Roots in Panel Models
model.frame.pdata.frame

model.frame and model.matrix for panel data
pFtest

F Test for Individual and/or Time Effects
is.pbalanced

Check if data are balanced
pbgtest

Breusch--Godfrey Test for Panel Models
is.pconsecutive

Check if time periods are consecutive
pbltest

Baltagi and Li Serial Dependence Test For Random Effects Models
pbnftest

Modified BNF--Durbin--Watson Test and Baltagi--Wu's LBI Test for Panel Models
make.dummies

Create a Dummy Matrix
make.pbalanced

Make data balanced
mtest

Arellano--Bond Test of Serial Correlation
pbsytest

Bera, Sosa-Escudero and Yoon Locally--Robust Lagrange Multiplier Tests for Panel Models and Joint Test by Baltagi and Li
pcce

Common Correlated Effects estimators
pcdtest

Tests of cross-section dependence for panel models
pdata.frame

pdata.frame: a data.frame for panel data
pht

Hausman--Taylor Estimator for Panel Data
phtest

Hausman Test for Panel Models
nobs.plm

Extract Total Number of Observations Used in Estimated Panelmodel
pldv

Panel estimators for limited dependent variables
piest

Chamberlain estimator and test for fixed effects
pdim

Check for the Dimensions of the Panel
phansitest

Simes Test for unit roots in panel data
pgrangertest

Panel Granger (Non-)Causality Test (Dumitrescu/Hurlin (2012))
pggls

General FGLS Estimators
pdwtest

Durbin--Watson Test for Panel Models
pgmm

Generalized Method of Moments (GMM) Estimation for Panel Data
plm-deprecated

Deprecated functions of plm
plm-package

plm package: linear models for panel data
plm

Panel Data Estimators
pmodel.response

A function to extract the model.response
plm.fast

Option to Switch On/Off Fast Data Transformations
pooltest

Test of Poolability
pmg

Mean Groups (MG), Demeaned MG and CCE MG estimators
plmtest

Lagrange FF Multiplier Tests for Panel Models
pseriesfy

Turn all columns of a pdata.frame into class pseries.
pwartest

Wooldridge Test for AR(1) Errors in FE Panel Models
pwfdtest

Wooldridge first--difference--based test for AR(1) errors in levels or first--differenced panel models
predict.plm

Model Prediction for plm Objects
purtest

Unit root tests for panel data
pvcm

Variable Coefficients Models for Panel Data
pvar

Check for Cross-Sectional and Time Variation
pwaldtest

Wald-style Chi-square Test and F Test
punbalancedness

Measures for Unbalancedness of Panel Data
pseries

panel series
ranef.plm

Extract the Random Effects
re-export_functions

Functions exported from other packages
pwtest

Wooldridge's Test for Unobserved Effects in Panel Models
within_intercept

Overall Intercept for Within Models Along its Standard Error
sargan

Hansen--Sargan Test of Overidentifying Restrictions
vcovSCC

Driscoll and Kraay (1998) Robust Covariance Matrix Estimator
summary.plm.list

Summary for plm objects
vcovNW

Newey and West (1987) Robust Covariance Matrix Estimator
r.squared

R squared and adjusted R squared for panel models
vcovBK

Beck and Katz Robust Covariance Matrix Estimators
vcovHC.plm

Robust Covariance Matrix Estimators
vcovDC

Double-Clustering Robust Covariance Matrix Estimator
vcovG

Generic Lego building block for Robust Covariance Matrix Estimators
LaborSupply

Wages and Hours Worked
Grunfeld

Grunfeld's Investment Data
Cigar

Cigarette Consumption
Crime

Crime in North Carolina
Parity

Purchasing Power Parity and other parity relationships
Produc

US States Production