Test for Granger (non-)causality in panel data.
pgrangertest( formula, data, test = c("Ztilde", "Zbar", "Wbar"), order = 1L, index = NULL )
a character to request the statistic to be returned,
integer(s) giving the number of lags to include in the test's auxiliary regressions, the length of order must be either 1 (same lag order for all individuals) or equal to the number of individuals (to specify a lag order per individual),
only relevant if
The panel Granger (non-)causality test is a combination of Granger tests \insertCiteGRAN:69plm performed per individual. The test is developed by \insertCiteDUMI:HURL:12;textualplm, a shorter exposition is given in \insertCiteLOPE:WEBE:17;textualplm.
formula describes the direction of the (panel) Granger
y ~ x means "x (panel) Granger causes y".
By setting argument
test to either
"Ztilde" (default) or
"Zbar", two different statistics can be requested.
gives the standardised statistic recommended by Dumitrescu/Hurlin (2012) for
fixed T samples. If set to
"Wbar", the intermediate Wbar statistic
(average of individual Granger chi-square statistics) is given which is used
to derive the other two.
The Zbar statistic is not suitable for unbalanced panels. For the Wbar statistic, no p-value is available.
The implementation uses
package lmtest to perform the individual Granger tests.
An object of class
c("pgrangertest", "htest"). Besides
the usual elements of a
htest object, it contains the data
indgranger which carries the Granger test statistics
per individual along the associated p-values, degrees of
freedom, and the specified lag order.
lmtest::grangertest() for the original (non-panel)
Granger causality test in lmtest.
## not meaningful, just to demonstrate usage ## H0: 'value' does not Granger cause 'inv' for all invididuals data("Grunfeld", package = "plm") pgrangertest(inv ~ value, data = Grunfeld) pgrangertest(inv ~ value, data = Grunfeld, order = 2L) pgrangertest(inv ~ value, data = Grunfeld, order = 2L, test = "Zbar") # varying lag order (last individual lag order 3, others lag order 2) (pgrt <- pgrangertest(inv ~ value, data = Grunfeld, order = c(rep(2L, 9), 3L))) # chisq statistics per individual pgrt$indgranger
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.