#' Identify the top selling substances
#'
#' @import dplyr
#'
prep_top_substances <- function(bnvd_data, prop = 0.5) {
calc_top_substances <- function(df, ...) {
var_selected <- c(...)
group_by_at(df, .vars = var_selected) %>%
summarise(quantite = sum(quantite)) %>%
ungroup() %>%
mutate(quantite_totale = sum(quantite)) %>%
mutate(quantite_prop = 100 * quantite / quantite_totale) %>%
arrange(desc(quantite_prop)) %>%
mutate(quantite_cum = cumsum(quantite_prop)) %>%
mutate(more_than_50 = quantite_cum >= prop * 100) %>%
slice(1:min(which(more_than_50))) %>%
mutate(Rang = seq(n())) %>%
rename(`Part des ventes (%)` = quantite_prop) %>%
select_at(.vars = c(var_selected, "Rang", "Part des ventes (%)"))
}
bind_rows(
calc_top_substances(df = bnvd_data, "substance") %>%
arrange(Rang) %>%
mutate(departement = "FRANCE"),
group_by(bnvd_data, departement) %>%
group_map(.f = function(df, ...) {
calc_top_substances(df, "substance") %>%
arrange(Rang)})
) %>%
select(departement, Rang,
substance, `Part des ventes (%)`)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.