API Unification: Changed estimand parameter to weight_method in surveff() and marCoxph() for consistency across all package functions
estimand = "ATE" → weight_method = "IPW"estimand = "overlap" → weight_method = "OW"estimand = "ATT" → weight_method = "ATT" (name unchanged, but parameter name changed)Changed trim parameter from character to logical in surveff(), marCoxph(), and weightedKM()
trim = "symmetric" → trim = TRUEtrim = NULL → trim = FALSERemoved alpha parameter and asymmetric trimming support from all functions due to poor statistical performance in practice
Default delta is now NULL (automatic selection based on number of treatment groups) instead of a fixed value
New function: weightedKM() for weighted Kaplan-Meier estimation with propensity score weights
New S3 methods for weightedKM objects:
plot.weightedKM(): Visualize weighted Kaplan-Meier or cumulative risk curves with confidence intervalssummary.weightedKM(): Tabular summaries with confidence intervalsprint.weightedKM(): Formatted console outputRisk table support in plot.weightedKM():
Enhanced visualization options:
surveff(), marCoxph(), weightedKM())@details sections explaining IPW, OW, and ATT weighting methodsweight_method parameterggplot2 and cowplot from Suggests to Imports (required for plotting functions)surveff() and marCoxph() to transform user-facing API to internal implementationIf upgrading from version 0.1.0:
estimand = "ATE" with weight_method = "IPW"estimand = "overlap" with weight_method = "OW"estimand = "ATT" with weight_method = "ATT"trim = "symmetric", delta = 0.1 with trim = TRUE, delta = 0.1trim = NULL with trim = FALSE (or simply omit, as FALSE is default)alpha parameter entirely (asymmetric trimming no longer supported)delta = NULL to use automatic defaults (0.1 for binary, 0.067 for 3 groups, 1/(2J) for J ≥ 4)Example migration:
# Old (v0.1.0)
result <- surveff(
data = mydata,
ps_formula = Z ~ X1 + X2,
censoring_formula = Surv(time, event) ~ X1,
estimand = "overlap",
censoring_method = "weibull"
)
# New (v0.2.0)
result <- surveff(
data = mydata,
ps_formula = Z ~ X1 + X2,
censoring_formula = Surv(time, event) ~ X1,
weight_method = "OW",
censoring_method = "weibull"
)
Initial CRAN release
Documentation improvements for CRAN resubmission:
@return tags to print methods\donttest{} with executable codeImplements propensity score weighting methods for estimating counterfactual survival functions and marginal hazard ratios in observational studies with time-to-event outcomes
Main functions:
surveff(): Estimates counterfactual survival curves and survival
differences over timemarCoxph(): Estimates marginal hazard ratios via weighted Cox regressionSupports binary and multiple (>2) treatment groups
Weighting methods:
Propensity score trimming:
Censoring adjustment methods:
Variance estimation:
Comprehensive documentation including vignette with examples
Based on methods from Cheng et al. (2022) doi:10.1093/aje/kwac043 and Li & Li (2019) doi:10.1214/19-AOAS1282