R/round_percent.R

Defines functions round_percent

Documented in round_percent

#' Round percent
#' 
#' Round percentages to get a whole integer
#' @param x A numeric vector
#' @return A numeric vector
#' @export

round_percent <- function(x) { 
  x <- x/sum(x)*100  # Standardize result
  res <- floor(x)    # Find integer bits
  rsum <- sum(res)   # Find out how much we are missing
  if(rsum<100) { 
    # Distribute points based on remainders and a random tie breaker
    o <- order(x%%1, sample(length(x)), decreasing=TRUE) 
    res[o[1:(100-rsum)]] <- res[o[1:(100-rsum)]]+1
  } 
  res 
}
joebrew/vilaweb documentation built on Sept. 11, 2020, 3:42 a.m.