#' 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)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.