66 lines
1.2 KiB
R
66 lines
1.2 KiB
R
#' Safe maximum
|
|
#' Take the max but ignore missing values
|
|
#'
|
|
#' @param x a numeric vector which may contain NA values
|
|
#'
|
|
#' @return the maximum non-missing value
|
|
#' @export
|
|
#'
|
|
#' @examples
|
|
#' safe_max(1:10)
|
|
#' safe_max(c(1:10, NA)) # 10
|
|
safe_max <- function(x) {
|
|
max(x, na.rm = TRUE)
|
|
}
|
|
|
|
|
|
|
|
#' Prettify proportion data
|
|
#' Make data expresed as proportions print out as prettily formatted characters with percentages
|
|
#'
|
|
#' @param x a numeric vector of proportions to convert to percentages
|
|
#' @param ndigit a vector of length 1 indicating the number of digits to display in the percent
|
|
#'
|
|
#' @return
|
|
#' @export
|
|
#'
|
|
#' @examples
|
|
#' pretty_per(0.2, ndigit = 1)
|
|
#' pretty_per(c(0.2, 0.332423, 0.4, 0.342342), ndigit = 2)
|
|
pretty_per <- function(x, ndigit = 1) {
|
|
x <- format(round(x, digits = 3) * 100, nsmall = ndigit)
|
|
x <- paste0(x, "%")
|
|
x[x == "NA%"] <- " - "
|
|
x <- trimws(x)
|
|
return(x)
|
|
}
|
|
options(knitr.kable.NA = "-")
|
|
|
|
|
|
#' Title
|
|
#'
|
|
#' @param x
|
|
#'
|
|
#' @return
|
|
#' @export
|
|
#'
|
|
#' @examples
|
|
na_zero <- function(x) {
|
|
x[is.na(x)] <- 0
|
|
return(x)
|
|
}
|
|
|
|
|
|
#' Title
|
|
#'
|
|
#' @param x
|
|
#'
|
|
#' @return
|
|
#' @export
|
|
#'
|
|
#' @examples
|
|
pretty_count <- function(x) {
|
|
x <- prettyNum(x, big.mark = ",")
|
|
return(x)
|
|
}
|