R/txt_median_iqr.R

Defines functions txt_median_iqr

Documented in txt_median_iqr

#' Summary text functions for html tables
#'
#' @param var A vector, or variable name within a dataframe
#' @param lower For quantile functions, the lower quantile (0.25 default)
#' @param upper For quantile functions, the upper quantile (0.75 default)
#' @param ... passes to `median(...)`
#' @param na.rm a logical value indicating whether NA values should be stripped
#'
#' @return A character vector with median (interquartile range), suitable for printing in an html table
#' @seealso  \code{\link[base]{sprintf}}, \code{\link[stats]{median}}, \code{\link[base]{quantile}}
#' @export
#' @examples
#' library(dplyr)
#' txt_median_iqr(mtcars$mpg)
#' mtcars %>%
#'   group_by(cyl) %>%
#'   summarise(mean_mpg = txt_mean_range(mpg))

txt_median_iqr <- function(var, lower=0.25, upper=0.75, na.rm = T, digits=1, ...){
  string = paste0("%1.", digits, "f[%.", digits, "f-%.", digits, "f]")
  sprintf(string,
          median(var, na.rm = na.rm, ...),
          quantile(var, lower, na.rm = na.rm, names = FALSE),
          quantile(var, upper, na.rm = na.rm, names = FALSE)
  )
}
JMLuther/tabletools documentation built on July 1, 2024, 2:01 p.m.