# Simple frequency table
freq_tab <- function(DT, varname, sort_pct = TRUE) {
  varname <- deparse(substitute(varname))
  result <-
    DT[, .(Number = .N),
			by = .(Variable = get(varname))][,
				`%` := round(100 * Number/sum(Number),
					1)]
  setnames(result, 'Variable', varname)
  if (sort_pct) {
    knitr::kable(result[order(-`%`)])
  } else {
    knitr::kable(result)
  }
}
# Example usage
mydatatable |>
  freq_tab(age_group)