
Comprehensive Covariate Summary Table (Table 1)
covariate_summary.RdGenerates a publication-ready "Table 1" showing descriptive statistics for all covariates, split by treatment status. Computes means, SDs, medians, percentages (for binary), p-values for group differences, and standardized mean differences.
Usage
covariate_summary(
data,
treatment,
vars = NULL,
var_labels = NULL,
digits = 2,
pct_digits = 1,
test_type = "auto",
caption = "Baseline Characteristics",
col_labels = c("Overall", "Control", "Treated")
)Arguments
- data
A data frame.
- treatment
Character. Binary treatment indicator (0/1).
- vars
Character vector. Variables to summarize. If
NULL, all numeric and factor columns excepttreatmentare used.- var_labels
Named character vector. Display labels for variables. Names are variable names, values are labels.
- digits
Integer. Decimal places for continuous variables. Default
2.- pct_digits
Integer. Decimal places for percentages. Default
1.- test_type
Character. Statistical test:
"auto"(default, t-test for continuous, chi-sq for binary/factor),"ttest","wilcox", or"chisq".- caption
Character. Table caption. Default
"Baseline Characteristics".- col_labels
Character vector of length 3. Column headers for overall, control, treated. Default
c("Overall", "Control", "Treated").
Value
A data frame with columns:
- variable
Variable label.
- overall
Overall summary: mean (SD) for continuous, n (pct) for binary.
- control
Control group summary.
- treated
Treated group summary.
- p_value
p-value for group difference.
- smd
Standardized mean difference.
Examples
data(lalonde, package = "MatchIt")
covariate_summary(
data = lalonde,
treatment = "treat",
vars = c("age", "educ", "re74", "re75", "married", "nodegree")
)
#> variable Overall Control Treated p_value smd
#> 1 age 27.36 (9.88) 28.03 (10.79) 25.82 (7.16) 0.0029 -0.242
#> 2 educ 10.27 (2.63) 10.24 (2.86) 10.35 (2.01) 0.5848 0.045
#> 3 re74 4557.55 (6477.96) 5619.24 (6788.75) 2095.57 (4886.62) 0.0000 -0.596
#> 4 re75 2184.94 (3295.68) 2466.48 (3292.00) 1532.06 (3219.25) 0.0012 -0.287
#> 5 married 255 (41.5%) 220 (51.3%) 35 (18.9%) 0.0000 -0.721
#> 6 nodegree 387 (63.0%) 256 (59.7%) 131 (70.8%) 0.0087 0.235