Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,18 @@ Icon?
^\.lintr$
^revdep_manual$
^vignettes/.*_cache$
^benchmark$
^CSX2026\.pdf$
^Efficient_DiD\.pdf$
^Rplots\.pdf$
^CODEX_AUDIT_HANDOFF\.md$
^EDID_implemention\.md$
^IMPLEMENTATION_PLAN\.md$
^METHODOLOGY_REVIEW\.md$
^audit\.md$
^audit_cov\.md$
^comprehension\.md$
^implementation\.md$
^mailbox\.md$
^spec\.md$
^test-spec\.md$
20 changes: 19 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,26 @@ desktop.ini
/Meta/
did.Rproj
..Rcheck/
*.Rcheck/
*.tar.gz
.claude/
CLAUDE.md
.vscode/
.revdep_manual/
vignettes/*_cache/
vignettes/*_cache/

# Personal working files (not part of the package)
CSX2026.pdf
Efficient_DiD.pdf
Rplots.pdf
CODEX_AUDIT_HANDOFF.md
EDID_implemention.md
IMPLEMENTATION_PLAN.md
METHODOLOGY_REVIEW.md
audit.md
audit_cov.md
comprehension.md
implementation.md
mailbox.md
spec.md
test-spec.md
11 changes: 11 additions & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,29 +1,38 @@
# Generated by roxygen2: do not edit by hand

S3method(as.data.frame,edid_fit)
S3method(coef,edid_fit)
S3method(ggdid,AGGTEobj)
S3method(ggdid,MP)
S3method(glance,AGGTEobj)
S3method(glance,MP)
S3method(nobs,AGGTEobj)
S3method(nobs,MP)
S3method(print,AGGTEobj)
S3method(print,AGGTEobj_edid)
S3method(print,MP)
S3method(print,edid_fit)
S3method(summary,AGGTEobj)
S3method(summary,AGGTEobj_edid)
S3method(summary,MP)
S3method(summary,MP.TEST)
S3method(summary,edid_fit)
S3method(tidy,AGGTEobj)
S3method(tidy,MP)
S3method(vcov,edid_fit)
export(AGGTEobj)
export(DIDparams)
export(MP)
export(MP.TEST)
export(aggte)
export(aggte_edid)
export(att_gt)
export(build_sim_dataset)
export(compute.aggte)
export(compute.att_gt)
export(compute.att_gt2)
export(conditional_did_pretest)
export(edid)
export(ggdid)
export(glance)
export(gplot)
Expand Down Expand Up @@ -59,6 +68,7 @@ importFrom(generics,tidy)
importFrom(methods,as)
importFrom(methods,is)
importFrom(stats,aggregate)
importFrom(stats,as.formula)
importFrom(stats,binomial)
importFrom(stats,complete.cases)
importFrom(stats,cov)
Expand All @@ -74,6 +84,7 @@ importFrom(stats,predict)
importFrom(stats,qnorm)
importFrom(stats,quantile)
importFrom(stats,rnorm)
importFrom(stats,sd)
importFrom(stats,setNames)
importFrom(stats,var)
importFrom(tidyr,gather)
Expand Down
2 changes: 2 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# did 2.3.1.904

* Added `edid()`: efficient DiD estimator (Chen, Sant'Anna & Xie 2025) supporting PT-All and PT-Post parallel trends assumptions, analytical EIF-based standard errors (iid and cluster-robust), multiplier bootstrap inference (Rademacher, Mammen, Webb), and overall/event-study/group aggregation with WIF correction.

* Fixed bug where `faster_mode = TRUE` and `faster_mode = FALSE` produced different ATT estimates when sampling weights (`weightsname`) vary across time. The fast path was always using first-period weights; it now correctly uses the same period's weights as the slow path

* New `fix_weights` argument in `att_gt()` gives users explicit control over how time-varying sampling weights are resolved in each 2x2 DiD comparison. Options: `NULL` (default, preserves existing behavior), `"varying"` (per-observation weights using RC estimators), `"base_period"` (fix at g-1 for all cells), `"first_period"` (fix at first period). See `?att_gt` for details
Expand Down
Loading
Loading