R/kable_tabFreq.R

Defines functions kable_tabFreq

Documented in kable_tabFreq

#' Tableau de fréquence
#'
#' @param x Dataset créé par les fonctions `polysimul_tabFreq()` ou `poly_tabFreq()`
#'
#' @keywords internal
#' @import kableExtra
#' @import data.table
#' @export
kable_tabFreq <- function(x){

# Fonctions --------------------------------------------------------------------------------------

  ### Arrange dataset
  .arrangeData <- function(x){
    x <- copy(x)
    x[
      , `:=` (Valeur = paste0("\\textcolor{white}{.}",Valeur),  # ajouter '.' blanc devant '[' pour contrer bug
              Pourcentage = formatr(Pourcentage, 2),  # format des colonnes
              Cumul = formatr(Cumul, 2))
      ]
    setnames(x, c("Pourcentage", "Cumul"), c("Pourcentage\n(\\%)", "Cumul\n(\\%)"))  # titres
    return(x)
  }


# Code -------------------------------------------------------------------------------------------

  x <- .arrangeData(x)
  return(
    kable(
      x = x,
      format = "latex",
      longtable = TRUE,  # tableau sur plusieurs pages
      booktabs = TRUE,
      row.names = FALSE,  # supprimer nom de ligne
      linesep = "",  # ne pas ajouter d'espace aux 5 lignes
      align = "r",  # alignement à droite
      escape = FALSE,  # appliquer code LATEX
      col.names = linebreak(colnames(x), align = "c")  # remplacer \n par un changement de ligne
    ) %>%
      kable_styling(
        latex_options = c("striped",  # les lignes sont rayées pour faciliter la lecteure
                          "hold_position",  # placer le tableau où il est appeler
                          "repeat_header"),  # répéter l'en-tête si changement de page
        position = "center"  # centrer le tableaau
      )
  )
}
INESSS-QC/polymed1 documentation built on Aug. 4, 2020, 12:02 a.m.