The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Interactive Fixed Effects (IFE) estimator of Bai
(2009), via model = "ife" in dcce(). Iterates
between pooled OLS and principal-component extraction of
factors/loadings until convergence. The number of factors can be
specified or selected automatically via the BIC3 criterion of Bai &
Ng (2002). Unlike CCE, IFE estimates factors and loadings directly
rather than proxying them with cross-sectional averages.
Pooled CCE (CCEP) estimator, via
model = "ccep" in dcce(). Constrains slopes to
be identical across units (precision-weighted pooled OLS with
cross-sectional averages), as proposed by Pesaran (2006) alongside the
existing CCE-MG. More efficient than CCE-MG when slopes are truly
homogeneous.
Dumitrescu-Hurlin (2012) panel Granger causality
test via the new exported function granger_test().
Reports the W-bar statistic (cross-sectional average of unit Wald
statistics), the Z-bar (large-T standardised), and the Z-bar tilde
(small-sample adjusted) statistics.
IPS and LLC panel unit root tests via
panel_ur_test(). Implements Im, Pesaran & Shin (2003)
IPS t-bar and Levin, Lin & Chu (2002) LLC common-root tests. These
do not correct for CSD (use cips_test() for that); they are
included as standard benchmarks.
Pedroni and Kao panel cointegration tests via
panel_coint_test(). Reports the Pedroni (1999, 2004)
group-mean t and group-mean rho statistics, or the Kao (1999) ADF
statistic.
Impulse response functions via the new exported
function irf(). Computes IRFs from fitted dynamic panel
models (DCCE, CS-ARDL, PMG) using the MG ARDL lag polynomial. Optional
cross-section bootstrap for confidence bands. Includes
print.dcce_irf() and plot.dcce_irf()
methods.
Half-panel jackknife bias correction (Chudik
& Pesaran 2015) via
bias_correction = "half_panel_jackknife" in
dcce(). Splits each unit’s time series in half, fits on
each half, and corrects the full-sample MG estimate: b_hpj = 2b_full
- 0.5(b_half1 + b_half2). Targets the Nickell bias in dynamic
CCE.
.github/workflows/R-CMD-check.yaml): runs
R CMD check --as-cran on Ubuntu, Windows, and macOS on
every push/PR to main._pkgdown.yml) with grouped reference index.cran-comments.md added for CRAN
submission readiness.structural_break_test(type = "unknown") now
uses the correct asymptotic distribution for the sup-Wald
statistic. The previous implementation applied a Bonferroni
correction over the candidate breakdate grid, which was wildly
over-conservative and routinely inflated borderline p-values all the way
to 1. The sup-Wald statistic has a non-standard asymptotic distribution
(supremum of a squared Brownian bridge) whose critical values were
tabulated by Andrews (1993, Econometrica 61(4), Table I).
dcce now ships those critical values as internal data and
reports p-values by interpolating on the log-scale between the tabulated
1%, 5%, and 10% levels. Values above the 1% critical value are reported
as p <= 0.01; below the 10% critical value they are
reported as p > 0.10.print.dcce_break() for unknown-date tests now displays
the full set of Andrews critical values next to the sup-Wald statistic,
and formats the p-value as a human-readable bracket (“> 0.10”, “<=
0.01”, or the interpolated value) instead of a bare number. The
known-date (Chow) path is unchanged and still uses the standard
chi-square p-value.dcce_break object now carries a
critical_values element (a named vector with
cv10, cv05, cv01) and a
trim element so downstream code and custom print methods
can access them.src/unit_ols.cpp now defines ARMA_WARN_LEVEL 0
in addition to ARMA_DONT_PRINT_ERRORS, fully suppressing
the solve(): system is singular messages that used to leak
through to the console during structural_break_test() and
near-rank-deficient CCE fits. The R-level .unit_ols()
fallback still handles rank deficiency via pinv() and
continues to log its own cli_warn diagnostics where
appropriate.test-structural-break.R covering the
Andrews critical-value lookup, p-value interpolation, and a regression
test reproducing the v0.3.1 Bonferroni blow-up (sup-Wald = 7.20, q = 3,
pi0 = 0.15) to lock in the fix.dcce_bootstrap() alias.
broom exports a function called bootstrap()
(for resampling data frames) that has a completely different signature
from dcce::bootstrap(). If broom is loaded
after dcce, the broom version masks ours on the search path
and calls of the form
bootstrap(fit, type = "crosssection", reps = 199) fail with
an “unused arguments” error. This release adds
dcce_bootstrap(), an exported alias with identical
semantics to dcce::bootstrap() but a conflict-free name.
bootstrap() itself is unchanged and still available; users
who previously wrote dcce::bootstrap(fit, ...) can keep
doing so.?bootstrap now documents the conflict and three
workarounds.dcce_rolling() for rolling-window
estimation. Fits a sequence of dcce() models on
overlapping time windows and returns a dcce_rolling object
containing the full list of fits and a tidy tibble of coefficients
indexed by window end-date. Includes print.dcce_rolling()
and a plot.dcce_rolling() method that draws one
coefficient-path panel per regressor with a 95% confidence ribbon.
Useful for detecting parameter drift and regime shifts in long
panels.
absorb argument for high-dimensional fixed
effects. A new argument to dcce() that accepts a
one-sided formula (or character vector) naming grouping factors to
project out of and before the main unit loop runs. A single factor uses
the within transformation; multiple factors use the alternating
projections of Guimaraes & Portugal (2010) / Correia (2016). The
unit fixed effects of CCE estimators are still kept via unit intercepts
— absorb is for additional categorical effects on
top of the cross-section (e.g. industry, region, sub-period
dummies).
Spatial CCE via the new spatial_weights
argument. When supplied with an row-normalised weight matrix,
dcce() replaces the global cross-sectional averages of
classical CCE with local, unit-specific weighted
averages . The matrix is automatically row-normalised, its diagonal is
zeroed, and rows/columns are aligned to the panel’s unit identifiers if
they are named. This enables spatial CCE estimation that respects the
topology of cross-sectional dependence (geographical contiguity, trade
links, input-output connections).
structural_break_test() for panel structural
breaks. New exported function implementing a Wald-type Chow
test at a known break date, a sup-Wald test over a trimmed candidate
window for an unknown break date, and a sequential Bai & Perron
(1998) procedure for multiple breaks. Returns a dcce_break
object with the test statistic, p-value, estimated break date(s), the
full Wald profile across candidates, and fitted dcce_fit
objects for the pre- and post-break regimes. Works with any base
estimator supported by dcce(). References: Andrews (1993);
Bai & Perron (1998); Ditzen, Karavias & Westerlund (2024). This
closes the gap with Stata’s xtbreak package.
R/rolling.R, R/absorb.R,
R/spatial_cce.R, and
R/structural_break.R.ARMA_DONT_PRINT_ERRORS to
src/unit_ols.cpp to silence Armadillo diagnostics on
near-singular XtX matrices. The R-level
.unit_ols() fallback still handles rank deficiency via
pinv().RcppArmadillo C++ inner OLS loop for the
unit-level estimator. The pure-R .unit_ols() is retained as
an automatic fallback, and the new fast = TRUE argument to
dcce() controls which path is used. Pure-R and C++ paths
are numerically identical to well under the 1e-6 tolerance
on all bundled tests. Compilation requires the standard R toolchain
(Rtools on Windows, Xcode command-line tools on macOS).
Parallel unit-level estimation via the new
n_cores argument to dcce(). When
n_cores > 1L on Unix/macOS, the unit loop is dispatched
to parallel::mclapply(); on Windows the argument is
silently ignored.
Augmented Mean Group (AMG) estimator (Eberhardt
& Teal 2010; Bond & Eberhardt 2013), available as
model = "amg" in dcce(). The estimator
extracts a Common Dynamic Process (CDP) from a pooled first-difference
regression with time dummies, cumulates it within each unit, and adds
the level-form CDP as a nuisance regressor in the unit-level OLS. The
CDP is stored on the fit object as fit$cdp.
Westerlund (2007) panel cointegration tests
exposed via the new exported function cointegration_test().
Supports all four statistics from Westerlund (2007): Gt, Ga, Pt, Pa.
Asymptotic p-values use the Westerlund (2007) Table 3 critical values; a
cross-sectional bootstrap path (n_bootstrap > 0) is also
provided for dependence-robust inference. Returns a
dcce_cointegration object with a dedicated print
method.
dcce_workflow() diagnostic pipeline
that runs the recommended pre-estimation sequence and returns a
structured report plus a printable recommended dcce() call.
Steps include the panel summary, CIPS unit root tests on each variable,
a pooled CD test, (conditionally) the Westerlund cointegration test, the
rank condition classifier, and IC-based CSA lag selection. Returns a
dcce_workflow object.
marginaleffects compatibility. S3
methods on the internal marginaleffects generics
(get_coef, get_vcov, get_predict,
find_predictors, find_response) are registered
dynamically in .onLoad() when the
marginaleffects package is available, enabling
avg_slopes(), avg_predictions(), and
hypotheses() on dcce_fit objects.
marginaleffects is in Suggests only, so the
integration is a zero-cost soft dependency.
predict.dcce_fit() now supports
newdata. When a new data frame is supplied,
predictions are computed using the Mean Group coefficients on the
structural regressors.
src/unit_ols.cpp with RcppArmadillo
implementations of unit_ols_cpp() and
batch_ols_cpp().src/Makevars and src/Makevars.win
linking to R’s LAPACK_LIBS, BLAS_LIBS, and
FLIBS.Rcpp (>= 1.0.0) to Imports; added
Rcpp and RcppArmadillo to
LinkingTo.marginaleffects and parallel to
Suggests..run_unit_loop() dispatcher in
R/est_mg.R..onLoad() hook in R/zzz.R for
dynamic method registration.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.