didgpu_did_static(
df,
outcome, group, time, treatment,
bootstrap_reps = 0L,
cluster = NULL,
ci_level = 95,
backend = "auto",
seed = NULL,
verbose = TRUE
)7 Static DID_M — didgpu_did_static()
8 Instantaneous DID_M — didgpu_did_static()
didgpu_did_static() implements the instantaneous, non-absorbing DiD estimator of @dechaisemartin2020twoway. Unlike most staggered-adoption methods, it allows treatment to switch on and off (non-absorbing) and is identified period-by-period without imposing an event-study structure.
8.1 What it estimates
For each unit-period \((i, t)\) where the unit switches between \(t-1\) and \(t\), the period-over-period outcome change \(Y_{i,t} - Y_{i,t-1}\) is compared against the analogous change of same-baseline stayers (units with the same treatment value at \(t-1\) that do not switch at \(t\)). Averaging over all switch events gives the unweighted DID_M; the cluster bootstrap provides SEs.
8.2 Function signature
8.3 Bit-for-bit equivalence target
Matches the DIDmultiplegt package’s did_multiplegt(robust_dynamic = FALSE) output.
Full chapter with worked examples (including a non-absorbing toy panel where standard TWFE produces a wrong-sign coefficient) is in progress.
8.4 See also
- @dechaisemartin2020twoway — the method paper.
DIDmultiplegt— the reference R implementation.