Test of individual and/or time effects for panel models.
plmtest(x,...)## S3 method for class 'plm'plmtest( x, effect = c("individual","time","twoways"), type = c("honda","bp","ghm","kw"),...)## S3 method for class 'formula'plmtest( x, data,..., effect = c("individual","time","twoways"), type = c("honda","bp","ghm","kw"))
Arguments
x: an object of class "plm" or a formula of class "formula",
...: further arguments passed to plmtest.
effect: a character string indicating which effects are tested: individual effects ("individual"), time effects ("time") or both ("twoways"),
type: a character string indicating the test to be performed:
"honda" (default) for \insertCite HOND:85;textualplm,
"bp" for \insertCite BREU:PAGA:80;textualplm,
"kw" for \insertCite KING:WU:97;textualplm, or
"ghm" for \insertCite GOUR:HOLL:MONF:82;textualplm for unbalanced panel data sets, the respective unbalanced version of the tests are computed,
data: a data.frame,
Returns
An object of class "htest".
Details
These Lagrange multiplier tests use only the residuals of the pooling model. The first argument of this function may be either a pooling model of class plm or an object of class formula
describing the model. For input within (fixed effects) or random effects models, the corresponding pooling model is calculated internally first as the tests are based on the residuals of the pooling model.
The "bp" test for unbalanced panels was derived in \insertCite BALT:LI:90;textualplm
(1990), the "kw" test for unbalanced panels in \insertCite BALT:CHAN:LI:98;textualplm.
The "ghm" test and the "kw" test were extended to two-way effects in \insertCite BALT:CHAN:LI:92;textualplm.
For a concise overview of all these statistics see \insertCite BALT:03;textualplm, Sec. 4.2, pp. 68--76 (for balanced panels) and Sec. 9.5, pp. 200--203 (for unbalanced panels).
Note
For the King-Wu statistics ("kw"), the oneway statistics ("individual" and "time") coincide with the respective Honda statistics ("honda"); twoway statistics of "kw" and "honda" differ.
Examples
data("Grunfeld", package ="plm")g <- plm(inv ~ value + capital, data = Grunfeld, model ="pooling")plmtest(g)plmtest(g, effect="time")plmtest(inv ~ value + capital, data = Grunfeld, type ="honda")plmtest(inv ~ value + capital, data = Grunfeld, type ="bp")plmtest(inv ~ value + capital, data = Grunfeld, type ="bp", effect ="twoways")plmtest(inv ~ value + capital, data = Grunfeld, type ="ghm", effect ="twoways")plmtest(inv ~ value + capital, data = Grunfeld, type ="kw", effect ="twoways")Grunfeld_unbal <- Grunfeld[1:(nrow(Grunfeld)-1),]# create an unbalanced panel data setg_unbal <- plm(inv ~ value + capital, data = Grunfeld_unbal, model ="pooling")plmtest(g_unbal)# unbalanced version of test is indicated in output
References
\insertRef BALT:13plm
\insertRef BALT:LI:90plm
\insertRef BALT:CHAN:LI:92plm
\insertRef BALT:CHAN:LI:98plm
\insertRef BREU:PAGA:80plm
\insertRef GOUR:HOLL:MONF:82plm
\insertRef HOND:85plm
\insertRef KING:WU:97plm
See Also
pFtest() for individual and/or time effects tests based on the within model.
Author(s)
Yves Croissant (initial implementation), Kevin Tappe (generalization to unbalanced panels)