#' Distribution de fréquence
#'
#' Distribution de fréquence de la statistique descriptive.
#'
#' @param polysimul1_stats Dataset créé par la fonction `polysimul1_stats()`.
#' @param stats Statistiques descriptives à analyser Sous la forme d'une liste, écrire sous la forme suivante : `list(titre_graphique = "nomColonne")`.
#'
#' @return `list` contenant un `geom_bar` de chaque statistique descriptive.
#' @import data.table
#' @import ggplot2
#' @export
polysimul_distFreq <- function(polysimul1_stats,
stats = list(Moyennes = "Moyenne",
Minimums = "Min",
Médianes = "Médiane",
Maximums = "Max")){
# Fonctions --------------------------------------------------------------------------------------
### Barplot distribution des valeurs
### x : dataset
### col : Colonne
.distFreq <- function(x, col){
dt <- copy(x[[col]])
dt[, Valeur := as.numeric(Valeur) - 1]
xmax <- max(dt$Valeur)
p <- ggplot(dt, aes(Valeur, Freq)) +
geom_bar(
stat = "identity",
col = "#5792CC", fill = "#5792CC" # couleur de l'inesss
) +
labs(
title = paste0("Distribution de fréquence des ",names(stats)[match(col, stats)]), # titre du barplot
x = "Valeur de l'indicateur", # titre axe x
y = "Freq (n)" # titre axe y
) +
scale_y_continuous(expand = c(0, 0)) +
scale_x_continuous(
expand = c(0, 0),
limits = c(-1, xmax+1),
breaks = seq(0, xmax + 1, 2),
labels = sapply(seq(0, xmax + 1, 2), function(x) paste0("[",x,",",x+1,"["))
) +
theme_classic() +
theme(
plot.title = element_text(hjust = 0.5) # centré le titre
)
return(p)
}
# Code -------------------------------------------------------------------------------------------
cols <- unlist(stats) # sélectionner les statistiques désirées
x <- polysimul_tabFreq(polysimul1_stats)[cols] # sélection data
dist_indic <- lapply(names(x), function(col) return(.distFreq(x, col))) # graphique pour chaque stat descriptive
names(dist_indic) <- names(x) # indiquer nom des élément de la liste
return(dist_indic)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.