# phtest

##### Hausman Test for Panel Models

Specification test for panel models.

- Keywords
- htest

##### Usage

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

# S3 method for 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
HAUS: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 @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")
@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,
@see @KANG:85 or @BALT:13 Sec.4.3.7plm,
but those are unsupported by `phtest`

.

##### Value

An object of class `"htest"`

.

##### References

HAUS:78plm

HAUS:TAYL:81plm

KANG:85plm

WOOL:10plm

BALT:13plm

##### Examples

```
# NOT RUN {
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"))
# }
```

*Documentation reproduced from package plm, version 2.2-5, License: GPL (>= 2)*