#' Distribution
#'
#' Distribution cumulée des statistiques descriptives
#'
#' @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_point` de chaque statistique descriptive.
#' @import data.table
#' @import ggplot2
#' @export
polysimul_distCumul <- function(polysimul1_stats,
stats = list(Moyennes = "Moyenne",
Minimums = "Min",
Médianes = "Médiane",
Maximums = "Max")){
# Fonctions --------------------------------------------------------------------------------------
### Distribution des pourcentages cumulées pour des valeurs de type INT
### x : list
### col : nom de la statistique descriptive
.distCumul <- function(x, col){
dt <- copy(x[[col]])
dt[, Valeur := as.numeric(Valeur) - 1]
xmax <- max(dt$Valeur)
p <- ggplot(dt, aes(Valeur, Cumul)) +
geom_line(col = "#5792CC") +
geom_point(col = "#5792CC") +
labs(
title = paste("Distribution cumulée des",names(stats)[match(col, stats)]),
x = "Valeur de l'indicateur",
y = "Pourcentage cumulé (%)"
) +
scale_y_continuous(
expand = c(0, 0),
limits = c(0, 105),
breaks = seq(0, 105, 10),
labels = seq(0, 105, 10)
) +
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)
)
return(p)
}
# Code -------------------------------------------------------------------------------------------
cols <- unlist(stats)
x <- polysimul_tabFreq(polysimul1_stats)[cols]
dist_indic <- lapply(names(x), function(col) return(.distCumul(x, col)))
names(dist_indic) <- names(x) # nom des éléments de la liste
return(dist_indic)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.