Skip to contents

Provides a comprehensive summary of a staggered adoption design, including cohort sizes, treatment timing distribution, share never treated, and a cohort-by-period treatment matrix.

Usage

staggered_summary(
  data,
  unit_var,
  time_var,
  treat_var,
  first_treat_var = NULL,
  plot = TRUE
)

Arguments

data

A data frame in long (panel) format.

unit_var

Character. Unit identifier column.

time_var

Character. Time period column.

treat_var

Character. Binary treatment indicator (0/1 or TRUE/FALSE).

first_treat_var

Character or NULL. Column with the first period of treatment for each unit. If NULL (default), it is computed automatically.

plot

Logical. Whether to produce visualizations. Default TRUE.

Value

A list with:

cohort_sizes

Data frame: cohort (first treatment period), number of units, and share.

never_treated_n

Integer. Number of never-treated units.

n_units

Integer. Total number of units.

n_periods

Integer. Total number of periods.

treat_matrix

Matrix: units × periods, 1 = treated.

cohort_plot

ggplot2 bar chart of cohort sizes.

calendar_plot

ggplot2 treatment calendar heatmap.

Examples

staggered_summary(
  data      = base_stagg,
  unit_var  = "id",
  time_var  = "year",
  treat_var = "treated"
)
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to min; returning Inf
#> Staggered design: 95 units, 10 periods (1-10), 1 cohorts, 50 never-treated.