From e1ff6dfb7ce97a03da4f57ab7752fe8d6f62dd26 Mon Sep 17 00:00:00 2001 From: Olivier Barriere Date: Fri, 28 Sep 2018 18:45:27 -0400 Subject: [PATCH] Preliminary support for sorting --- R/table1.R | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/R/table1.R b/R/table1.R index c43e3ed..cd089f2 100644 --- a/R/table1.R +++ b/R/table1.R @@ -928,6 +928,12 @@ html.standalone.foot <- ' thead <- t(render.strat(labels$strata[names(x)], sapply(x, nrow))) tbody <- lapply(names(labels$variables), function(v) { lvls <- unique(do.call(c, lapply(x, function(s) levels(s[[v]])))) + sort_args <- if ("sort" %in% names(list(...))) list(...)$sort else NULL + if (!is.null(lvls) & !is.null(sort_args$by)) { + first_lvls <- names(do.call(sort, c(list(x=table(x[[sort_args$by]][,v])), sort_args[names(sort_args)!="by"]))) + last_lvls <- lvls[!lvls %in% first_lvls] + lvls <- c(first_lvls, last_lvls) + } y <- do.call(cbind, lapply(x, function(s) { z <- s[[v]] if (!is.null(lvls)) {