source(here::here("_rinit.R"))source(here::here("code", "basic_functions.R")) # dataset_info_lines(), related_data()invisible(Sys.setlocale("LC_TIME", "fr_FR.UTF-8"))# cd ~/iCloud/website/data/depp; /usr/local/bin/R -e 'quarto::quarto_render("reussite-au-baccalaureat.qmd")'# cd ~/iCloud/website/data; sh _status/run_all_silent.sh --only deppknitr::opts_chunk$set(echo =TRUE, message =FALSE, warning =FALSE,fig.width =8, fig.height =4.6, dpi =150)bac_path <- here::here("data", "depp", "reussite-au-baccalaureat.parquet")bac <- arrow::read_parquet(bac_path)# La colonne 2011 est aberrante dans le fichier source DEPP (nombres ~2x,# taux de réussite > 100 %) — écartée de tous les graphiques ci-dessous.bac2 <- dplyr::filter(bac, annee !=2011)annee_max <-max(bac2$annee)theme_depp <- ggplot2::theme_minimal(base_size =12) + ggplot2::theme(plot.title = ggplot2::element_text(face ="bold"),plot.subtitle = ggplot2::element_text(colour ="grey35"),panel.grid.minor = ggplot2::element_blank(),plot.title.position ="plot",legend.position ="bottom")pal_voie <-c("Baccalauréat général"="#2b6cb0","Baccalauréat technologique"="#dd6b20","Baccalauréat professionnel"="#38a169","Tous baccalauréats"="grey20")pal_sexe <-c("Garçons"="#3182ce", "Filles"="#d53f8c", "Garçons + filles"="grey30")
Deux séries longues de la DEPP sur les résultats du baccalauréat depuis 1997 : le nombre d’admis et le taux de réussite, ventilés d’une part par voie et série, d’autre part par origine sociale du candidat. Source : DEPP, système d’information OCEAN / Cyclades et ministère chargé de l’agriculture ; France hors Mayotte jusqu’en 2011, France entière ensuite.
Note
Le fichier Excel diffusé par la DEPP contient une colonne 2011 manifestement erronée (effectifs et taux environ doublés). L’année 2011 est conservée telle quelle dans le Parquet mais exclue de tous les graphiques de cette page.
Taux de réussite, toutes voies
Code
bac2 |> dplyr::filter(ventilation =="série", indicateur =="Taux de réussite", voie =="Tous baccalauréats", sous_categorie =="Ensemble") |>ggplot(aes(annee, valeur, colour = sexe)) +geom_line(linewidth =0.9) +geom_point(size =1.6) +scale_colour_manual(values = pal_sexe, name =NULL) +scale_x_continuous(breaks = scales::breaks_width(4)) +scale_y_continuous(labels = scales::label_percent(scale =1)) +labs(title ="Taux de réussite au baccalauréat",subtitle ="Tous baccalauréats, France — filles, garçons, ensemble",x =NULL, y =NULL) + theme_depp
Taux de réussite par voie
Code
bac2 |> dplyr::filter(ventilation =="série", indicateur =="Taux de réussite", sous_categorie =="Ensemble", sexe =="Garçons + filles") |>ggplot(aes(annee, valeur, colour = voie)) +geom_line(linewidth =0.9) +scale_colour_manual(values = pal_voie, name =NULL) +scale_x_continuous(breaks = scales::breaks_width(4)) +scale_y_continuous(labels = scales::label_percent(scale =1)) +labs(title ="Taux de réussite au baccalauréat par voie",subtitle ="Ensemble filles + garçons", x =NULL, y =NULL) + theme_depp
Nombre d’admis par voie
Code
bac2 |> dplyr::filter(ventilation =="série", indicateur =="Admis", sous_categorie =="Ensemble", sexe =="Garçons + filles", voie !="Tous baccalauréats") |>ggplot(aes(annee, valeur, fill = voie)) +geom_area(alpha =0.85) +scale_fill_manual(values = pal_voie, name =NULL) +scale_x_continuous(breaks = scales::breaks_width(4)) +scale_y_continuous(labels = scales::label_number(scale =1e-3, suffix =" k")) +labs(title ="Admis au baccalauréat par voie",subtitle ="France, filles + garçons", x =NULL, y =NULL) + theme_depp
tibble::tibble(``=c("Série", "Producteur", "Champ", "Fichier", "Mise à jour", "Observations"),``=c("[La réussite au baccalauréat](https://www.education.gouv.fr/les-series-statistiques-des-indicateurs-de-resultats-des-lycees-1118) — DEPP","Direction de l'Évaluation, de la Prospective et de la Performance (DEPP), ministère de l'Éducation nationale","France hors Mayotte jusqu'en 2011, France entière ensuite ; y compris ministère chargé de l'agriculture",sprintf("`data/depp/reussite-au-baccalaureat.parquet` (%s ko)", round(file.size(bac_path) /1024)),format(as.Date(file.mtime(bac_path)), "%d %B %Y"),sprintf("%d lignes, %d–%d (colonne 2011 conservée mais erronée)",nrow(bac), min(bac$annee), max(bac$annee)) )) |> gt::gt() |> gt::fmt_markdown(columns =``) |> gt::tab_options(table.width ="100%", column_labels.hidden =TRUE)