phtest: Hausman Test for Panel Models

Description Usage Arguments Details Value Author(s) References Examples

View source: R/test_general.R

Description

Specification test for panel models.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
phtest(x, ...)

## S3 method for class 'formula'
phtest(
  x,
  data,
  model = c("within", "random"),
  method = c("chisq", "aux"),
  index = NULL,
  vcov = NULL,
  ...
)

## S3 method for class 'panelmodel'
phtest(x, x2, ...)

Arguments

x

an object of class "panelmodel" or "formula",

...

further arguments to be passed on. For the formula method, place argument effect here to compare, e.g., twoway models (effect = "twoways") Note: Argument effect is not respected in the panelmodel method.

data

a data.frame,

model

a character vector containing the names of two models (length(model) must be 2),

method

one of "chisq" or "aux",

index

an optional vector of index variables,

vcov

an optional covariance function,

x2

an object of class "panelmodel",

Details

The Hausman test (sometimes also called Durbin–Wu–Hausman test) is based on the difference of the vectors of coefficients of two different models. The panelmodel method computes the original version of the test based on a quadratic form \insertCiteHAUS:78plm. The formula method, if method="chisq" (default), computes the original version of the test based on a quadratic form; if method="aux" then the auxiliary-regression-based version in Wooldridge (2010, Sec. 10.7.3.) is computed instead \insertCite@WOOL:10 Sec.10.7.3plm. Only the latter can be robustified by specifying a robust covariance estimator as a function through the argument vcov (see Examples).

The equivalent tests in the one-way case using a between model (either "within vs. between" or "random vs. between") \insertCite@see @HAUS:TAYL:81 or @BALT:13 Sec.4.3plm can also be performed by phtest, but only for test = "chisq", not for the regression-based test. NB: These equivalent tests using the between model do not extend to the two-ways case. There are, however, some other equivalent tests, \insertCite@see @KANG:85 or @BALT:13 Sec.4.3.7plm, but those are unsupported by phtest.

Value

An object of class "htest".

Author(s)

Yves Croissant, Giovanni Millo

References

\insertRef

HAUS:78plm

\insertRef

HAUS:TAYL:81plm

\insertRef

KANG:85plm

\insertRef

WOOL:10plm

\insertRef

BALT:13plm

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
data("Gasoline", package = "plm")
form <- lgaspcar ~ lincomep + lrpmg + lcarpcap
wi <- plm(form, data = Gasoline, model = "within")
re <- plm(form, data = Gasoline, model = "random")
phtest(wi, re)
phtest(form, data = Gasoline)
phtest(form, data = Gasoline, method = "aux")

# robust Hausman test (regression-based)
phtest(form, data = Gasoline, method = "aux", vcov = vcovHC)

# robust Hausman test with vcov supplied as a
# function and additional parameters
phtest(form, data = Gasoline, method = "aux",
  vcov = function(x) vcovHC(x, method="white2", type="HC3"))

plm documentation built on Sept. 21, 2021, 3:01 p.m.