summary_dt = data.table(
Statistic = c("Count", "Mean", "Std Dev", "Min", "25%", "Median", "75%", "Max"),
`CAGR (%)` = c(
format(nrow(cagr_df), big.mark = ","),
sprintf("%.2f", mean(cagr_df$cagr)),
sprintf("%.2f", sd(cagr_df$cagr)),
sprintf("%.2f", min(cagr_df$cagr)),
sprintf("%.2f", quantile(cagr_df$cagr, 0.25)),
sprintf("%.2f", median(cagr_df$cagr)),
sprintf("%.2f", quantile(cagr_df$cagr, 0.75)),
sprintf("%.2f", max(cagr_df$cagr))
),
woz_end_col = c(
format(nrow(cagr_df), big.mark = ","),
sprintf("%.0f", mean(cagr_df$woz_end)),
sprintf("%.0f", sd(cagr_df$woz_end)),
sprintf("%.0f", min(cagr_df$woz_end)),
sprintf("%.0f", quantile(cagr_df$woz_end, 0.25)),
sprintf("%.0f", median(cagr_df$woz_end)),
sprintf("%.0f", quantile(cagr_df$woz_end, 0.75)),
sprintf("%.0f", max(cagr_df$woz_end))
)
)
setnames(summary_dt, "woz_end_col", paste0("WOZ ", END_YEAR, " (€1000)"))
knitr::kable(summary_dt)