R/summ_interval.R

Defines functions summ_interval

Documented in summ_interval

#' Create center with spread data summary for table
#'
#' @param x Numeric Vector
#' @param fun Function for Central Measure (Defaults to median)
#' @param limits numeric vector of length 2 for lower and upper limit, defaults to IQR
#' @param digits number of digits to round
#' @param delim  delimiter of choice
#' @return Character String of the form \code{fun(x) <delim> (Q1,Q3)}
#' @examples
#' x = seq(1,100)
#' summ_interval(x,digits = 3)
#' summ_interval(x, lower = 0.1, upper = 0.85)
#' summ_interval(x^2,fun = median, delim = " - ")
#' summ_interval(x^2,fun = mean, delim = "_")

summ_interval = function(x, fun = median, digits = 2, delim = ",",
                        limits = c(0.25,0.75)){

  Cent = round(fun(as.numeric(x), na.rm = T), digits = digits)

  if(length(limits) == 1){
    warning("Please provide length two vector for limits")
    return()
  }

  limits = sort(limits)

  Intv = round(quantile(as.numeric(x), probs = c(limits[1],limits[2]), na.rm = T), digits = digits)

  return(stringr::str_c(print_dec(Cent,digits)," (",
                        print_dec(Intv[1],digits), delim,
                        print_dec(Intv[2],digits), ")"))
}
Ajfrick/ajfhelpR documentation built on June 30, 2023, 12:56 a.m.