beck_banks dataset has been removed, together with
its licence note. The examples and the vignette now illustrate the
always-treated error and estimation without a never-treated group on
sim_panel.0 and period
0 lies inside the observed window,
gmm_staggered() now stops with an error. Previously
0 was read both as a treated cohort, with cohort-by-time
effects estimated for it, and as the never-treated control group. Code
never-treated units with any value after the last period instead.gmm_staggered() now stops with an error naming the
covariate and the cohort. Previously every estimate was returned as
NA, with a misleading warning that no weighted step could
be completed.gmm_j_test() is now explicitly a test of
unconditional parallel trends. Its placebo moments were never
covariate-adjusted; after a fit with covar, the printed
result now warns that it does not test the covariate-conditional
parallel trends assumption, summary() of such a fit says
the same, and the returned object records scope and
covar.First release.
gmm_staggered(), replacing
the earlier gmm_staggered_I(),
gmm_staggered_II() and gmm_staggered_III().
The covariance model is chosen with weighting, one of
"pooled_toeplitz", "cohort_toeplitz" or
"unrestricted" (GMM-T, GMM-HT and GMM-U in the paper).did package convention:
yname, tname, idname,
gname.never_treated = NULL detects a never-treated group
automatically, replacing has_nt = FALSE.staggered_gmm with
print, summary, coef,
vcov and confint methods.gmm_j_test(): the serial-correlation robust
over-identification test of parallel trends and no anticipation, in
full-set and local-pre-window forms.CW
(treated-observation weighting, as used throughout the paper) and
EW (cohort-equal weighting).NA with identified = FALSE, never as an
estimated zero, and are excluded from the parameter vector so that
partial identification no longer disables the efficient weighting for
every other cell.max_iter
now defaults to 100: the iteration can converge linearly at a slow rate,
and sim_panel under
weighting = "cohort_toeplitz" needs 86 steps.weighting = "unrestricted", because the returned estimates
are then the identity-weighted seed rather than a GMM estimate under the
requested weighting. The warning reports how many independent moment
directions the estimated weight supported, against the number of effects
to identify. Merely failing to converge after a weighted step did run
continues not to warn under "unrestricted", where it is
routine.beck_banks documentation now records its CC BY 4.0
licence and the thirteen always-treated states it contains.