R/poly_tabFreq.R

Defines functions poly_tabFreq

Documented in poly_tabFreq

#' Tableau de fréquence
#'
#' @param poly_data Dataset créé par la fonction `polyXXXX_data()`.
#' @param round_value `TRUE` ou `FALSE`. Si l'on doit arrondir le nombre de médicament consommé.
#'
#' @import data.table
#' @export
poly_tabFreq <- function(poly_data){
  x <- copy(poly_data)
  setnames(x, "nRx", "Valeur")  # renommer colonne
  nZero <- x[Valeur==0, .N]  # nombre de ID sans conso
  x[, Valeur := floor(Valeur)]  # entier inférieur de la valeur (début de la classe)
  x <- x[, .(Freq = .N), keyby = .(Valeur)]  # Fréquence des nRx
  listValeur <- seq(0, max(x$Valeur))[!seq(0, max(x$Valeur)) %in% x$Valeur]  # toutes les valeurs à afficher
  if(length(listValeur)) x <- rbind(x, data.table(Valeur = listValeur, Freq = 0))  # ajouter les Valeur manquantes
  setkey(x, Valeur)  # tri
  x[, Pourcentage := Freq / sum(Freq) * 100]  # pourcentage
  x[, Cumul := cumsum(Pourcentage)]  # pourcentage cumulé
  x[, Valeur := paste0("[",Valeur,",",Valeur+1,"[")]  # indiquer que c'est une classe
  x[, Valeur := factor(Valeur, levels = Valeur)]  # transformer en facteur pour future utilisation
  attr(x, "nZero") <- list(n = nZero, ratio = nZero/sum(x$Freq))  # ajouter en attribut le nombre de
  return(x)
}
INESSS-QC/polymed1 documentation built on Aug. 4, 2020, 12:02 a.m.