R/fr-esr-parcoursup.R

Defines functions kpiesr_read.adm

# https://data.enseignementsup-recherche.gouv.fr/explore/dataset/fr-esr-apb_voeux-et-admissions/information/
# [1] "Session"
# [2] "Code.UAI.de.l.établissement.d.accueil"
# [3] "Libellé.de.l.établissement.d.accueil"
# [4] "Code.département"
# [5] "Départements"
# [6] "Académies"
# [7] "Régions"
# [8] "Filières.très.agrégées"
# [9] "Filières.de.formations"
# [10] "Filières.de.formations.très.détaillées"
# [11] "Capacité.de.l.établissement.par.formation"
# [12] "Rang.du.dernier.candidat.appelé"
# [13] "Effectif.total.des.candidats"
# [14] "Effectif.total.des.candidats..dont.filles"
# [15] "Demandes.en.vœu.1"
# [16] "Demandes.en.vœu.1..dont.filles"
# [17] "Candidats.ayant.reçu.une.proposition"
# [18] "Candidats.ayant.reçu.une.proposition..dont.filles"
# [19] "Effectif.total.des.candidats.admis"
# [20] "Effectif.total.des.candidats.admis..dont.filles"
# [21] "Admissions.sur.leur.vœu.1"
# [22] "Admissions.sur.leur.vœu.1..dont.filles"
# [23] "Effectif.des.admis.boursiers"
# [24] "Candidats.admis..sans.mention.au.bac"
# [25] "Candidats.admis.avec.mention.A.B.au.bac"
# [26] "Candidats.admis.avec.mention.B.au.bac"
# [27] "Candidats.admis.avec.mention.T.B.au.bac"
# [28] "Candidats.admis.dans.son.établissement.d.origine..BTS.CPGE."
# [29] "Candidats.admis.dans.son.établissement.d.origine..BTS.CPGE...dont.filles"
# [30] "Candidats.admis.dans.son.académie.d.origine"
# [31] "X..Candidats.admis.dans.son.académie.d.origine"
# [32] "X..Candidats.admis.dans.son.établissement.d.origine..BTS.CPGE."
# [33] "X..admis.boursiers"
# [34] "X..Candidats.admis.sans.mention.au.bac"
# [35] "X..Candidats.admis.avec.mention.A.B.au.bac"
# [36] "X..Candidats.admis.avec.mention.B.au.bac"
# [37] "X..Candidats.admis.avec.mention.T.B.au.bac"

# https://data.enseignementsup-recherche.gouv.fr/explore/dataset/fr-esr-parcoursup/information/
# [1] "Session"
# [2] "Code.UAI.de.l.établissement"
# [3] "Établissement"
# [4] "Code.départemental.de.l.établissement"
# [5] "Département.de.l.établissement"
# [6] "Région.de.l.établissement"
# [7] "Académie.de.l.établissement"
# [8] "Filière.de.formation.très.agrégée"
# [9] "Filière.de.formation"
# [10] "Concours.communs.et.banques.d.épreuves"
# [11] "Filière.de.formation.détaillée"
# [12] "Filière.de.formation.très.détaillée"
# [13] "Lien.de.la.formation.sur.la.plateforme.Parcoursup"
# [14] "Coordonnées.GPS.de.la.formation"
# [15] "Capacité.de.l.établissement.par.formation"
# [16] "Effectif.total.des.candidats.pour.une.formation"
# [17] "Dont.effectif.des.candidates.pour.une.formation"
# [18] "Effectif.total.des.candidats.en.phase.principale"
# [19] "Dont.effectif.des.candidats.ayant.postulé.en.internat"
# [20] "Effectif.des.candidats.néo.bacheliers.généraux.en.phase.principale"
# [21] "Dont.effectif.des.candidats.boursiers.néo.bacheliers.généraux.en.phase.principale"
# [22] "Effectif.des.candidats.néo.bacheliers.technologiques.en.phase.principale"
# [23] "Dont.effectif.des.candidats.boursiers.néo.bacheliers.technologiques.en.phase.principale"
# [24] "Effectif.des.candidats.néo.bacheliers.professionnels.en.phase.principale"
# [25] "Dont.effectif.des.candidats.boursiers.néo.bacheliers.professionnels.en.phase.principale"
# [26] "Effectif.des.autres.candidats.en.phase.principale"
# [27] "Effectif.total.des.candidats.en.phase.complémentaire"
# [28] "Effectif.des.candidats.néo.bacheliers.généraux.en.phase.complémentaire"
# [29] "Effectif.des.candidats.néo.bacheliers.technologique.en.phase.complémentaire"
# [30] "Effectif.des.candidats.néo.bacheliers.professionnels.en.phase.complémentaire"
# [31] "Effectifs.des.autres.candidats.en.phase.complémentaire"
# [32] "Effectif.total.des.candidats.classés.par.l.établissement.en.phase.principale"
# [33] "Effectif.des.candidats.classés.par.l.établissement.en.phase.complémentaire"
# [34] "Effectif.des.candidats.classés.par.l.établissement.en.internat..CPGE."
# [35] "Effectif.des.candidats.classés.par.l.établissement.hors.internat..CPGE."
# [36] "Effectif.des.candidats.néo.bacheliers.généraux.classés.par.l.établissement"
# [37] "Dont.effectif.des.candidats.boursiers.néo.bacheliers.généraux.classés.par.l.établissement"
# [38] "Effectif.des.candidats.néo.bacheliers.technologiques.classés.par.l.établissement"
# [39] "Dont.effectif.des.candidats.boursiers.néo.bacheliers.technologiques.classés.par.l.établissement"
# [40] "Effectif.des.candidats.néo.bacheliers.professionnels.classés.par.l.établissement"
# [41] "Dont.effectif.des.candidats.boursiers.néo.bacheliers.professionnels.classés.par.l.établissement"
# [42] "Effectif.des.autres.candidats.classés.par.l.établissement"
# [43] "Effectif.total.des.candidats.ayant.reçu.une.proposition.d.admission.de.la.part.de.l.établissement"
# [44] "Rang.du.dernier.appelé"
# [45] "Effectif.total.des.candidats.ayant.accepté.la.proposition.de.l.établissement..admis."
# [46] "Dont.effectif.des.candidates.admises"
# [47] "Effectif.des.admis.en.phase.principale"
# [48] "Effectif.des.admis.en.phase.complémentaire"
# [49] "Dont.effectif.des.admis.en.internat"
# [50] "Dont.effectif.des.admis.boursiers.néo.bacheliers"
# [51] "Effectif.des.admis.néo.bacheliers"
# [52] "Effectif.des.admis.néo.bacheliers.généraux"
# [53] "Effectif.des.admis.néo.bacheliers.technologiques"
# [54] "Effectif.des.admis.néo.bacheliers.professionnels"
# [55] "Effectif.des.autres.candidats.admis"
# [56] "Dont.effectif.des.admis.néo.bacheliers.sans.information.sur.la.mention.au.bac"
# [57] "Dont.effectif.des.admis.néo.bacheliers.sans.mention.au.bac"
# [58] "Dont.effectif.des.admis.néo.bacheliers.avec.mention.Assez.Bien.au.bac"
# [59] "Dont.effectif.des.admis.néo.bacheliers.avec.mention.Bien.au.bac"
# [60] "Dont.effectif.des.admis.néo.bacheliers.avec.mention.Très.Bien.au.bac"
# [61] "Effectif.des.admis.néo.bacheliers.généraux.ayant.eu.une.mention.au.bac"
# [62] "Effectif.des.admis.néo.bacheliers.technologiques.ayant.eu.une.mention.au.bac"
# [63] "Effectif.des.admis.néo.bacheliers.professionnels.ayant.eu.une.mention.au.bac"
# [64] "Dont.effectif.des.admis.issus.du.même.établissement..BTS.CPGE."
# [65] "Dont.effectif.des.admises.issues.du.même.établissement..BTS.CPGE."
# [66] "Dont.effectif.des.admis.issus.de.la.même.académie"
# [67] "Dont.effectif.des.admis.issus.de.la.même.académie..Paris.Créteil.Versailles.réunies."
# [68] "X..d.admis.dont.filles"
# [69] "X..d.admis.néo.bacheliers.issus.de.la.même.académie"
# [70] "X..d.admis.néo.bacheliers.issus.de.la.même.académie..Paris.Créteil.Versailles.réunies."
# [71] "X..d.admis.néo.bacheliers.issus.du.même.établissement..BTS.CPGE."
# [72] "X..d.admis.néo.bacheliers.boursiers"
# [73] "X..d.admis.néo.bacheliers"
# [74] "X..d.admis.néo.bacheliers.sans.information.sur.la.mention.au.bac"
# [75] "X..d.admis.néo.bacheliers.sans.mention.au.bac"
# [76] "X..d.admis.néo.bacheliers.avec.mention.Assez.Bien.au.bac"
# [77] "X..d.admis.néo.bacheliers.avec.mention.Bien.au.bac"
# [78] "X..d.admis.néo.bacheliers.avec.mention.Très.Bien.au.bac"
# [79] "X..d.admis.néo.bacheliers.généraux"
# [80] "Dont...d.admis.avec.mention"
# [81] "X..d.admis.néo.bacheliers.technologiques"
# [82] "Dont...d.admis.avec.mention.1"
# [83] "X..d.admis.néo.bacheliers.professionnels"
# [84] "Dont...d.admis.avec.mention.2"
# [85] "X"
# [86] "tri"

kpiesr_read.adm <- function() {

    apb <- read.table("dataESR/fr-esr-apb_voeux-et-admissions.csv",
                    header=TRUE, sep=';', quote='"', na.strings = c("inconnu","")) %>%
      transmute(
        Rentrée = as.character(Session),
        UAI = Code.UAI.de.l.établissement.d.accueil,
        Libellé = Libellé.de.l.établissement.d.accueil,
        Filière = recode(Filières.très.agrégées,
                         "1_Licence" = "Licence", "2_DUT" = "DUT", "3_BTS" = "BTS",
                         "4_CPGE"= "CPGE", "6_PACES" = "PACES",
                         "7_Management" = "Autre formation",
                         "8_Ingénieur" = "Autre formation",
                         "Autre" = "Autre formation"),
        #Formation = Filières.de.formations,
        Capacité = Capacité.de.l.établissement.par.formation,
        Candidats = Effectif.total.des.candidats,
        Admis = Effectif.total.des.candidats.admis,
        Rdda = as.numeric(Rang.du.dernier.candidat.appelé)
        )

    ps <- read.table("dataESR/fr-esr-parcoursup.csv",
                      header=TRUE, sep=';', quote='"') %>%
      transmute(
        Rentrée = Session,
        UAI = Code.UAI.de.l.établissement,
        Libellé = Établissement,
        Filière = Filière.de.formation.très.agrégée,
        #Formation = Filière.de.formation,
        Capacité = Capacité.de.l.établissement.par.formation,
        Candidats = Effectif.total.des.candidats.pour.une.formation,
        Admis = Effectif.total.des.candidats.ayant.accepté.la.proposition.de.l.établissement..admis.,
        Rdda = as.numeric(Rang.du.dernier.appelé)
      )

    adm <- rbind(apb,ps)

    #subset(adm, UAI == "identifiant obsolète", c(Libellé)) %>% unique
    #subset(adm, grepl("- site", Libellé), c(Libellé,UAI)) %>% unique

    #Fix cradingue
    adm <- adm %>% mutate( UAI = as.factor(case_when(
      grepl("Lyon1", Libellé) ~ "0691774D",
      grepl("Université de Lille", Libellé) ~ "0597065J",
      grepl("Université de Lorraine", Libellé) ~ "0542493S",
      grepl("Université Paul Valery Montpellier", Libellé) ~ "0341089Z",
      grepl("UNIVERSITE SAVOIE MONT BLANC", Libellé) ~ "0730858L",
      grepl("Aix-Marseille Université", Libellé) ~ "0134009M",
      grepl("Evry Val d'Essonne", Libellé) ~ "0911975C" ,
      grepl("Université de Bourgogne", Libellé) ~ "0211237F",
      grepl("Université de Limoges", Libellé) ~ "0870669E",
      grepl("Limousin", Libellé) ~ "0870669E",
      grepl("Université de Poitiers", Libellé) ~ "0860856N",
      grepl("I.U.T. Poitiers", Libellé) ~ "0860856N",
      grepl("Reims-Châlons-Charleville", Libellé) ~ "0511296G",
      grepl("I.U.T. 2 de Grenoble", Libellé) ~ "0383493R",
      grepl("Université Grenoble Alpes", Libellé) ~ "0383493R",
      grepl("IUT 1 GRENOBLE", Libellé) ~ "0383493R",
      TRUE ~ as.character(UAI)
    )))


    adm <- adm %>%
      mutate(
        Rentrée = as.factor(as.numeric(Rentrée)-1),
        sélective         = (Rdda / Candidats < 0.90),
        hypersélective    = (Rdda / Candidats < 0.20),
        surchargée        = (Admis / Capacité > 1.00),
        souschargée       = (Admis / Capacité < 0.75) ) %>%
      group_by(Rentrée,UAI) %>%
      summarise(
        kpi.ADM.P.formations     = n(),
        kpi.ADM.S.sélective      = sum(sélective == TRUE, na.rm = TRUE),
        kpi.ADM.S.hypersélective = sum(hypersélective == TRUE, na.rm = TRUE),
        kpi.ADM.S.surchargées    = sum(surchargée == TRUE),
        kpi.ADM.S.souschargée    = sum(souschargée == TRUE),
        err.ADM                  = sum(is.na(sélective)))


  return(adm)
}
cpesr/kpiESR documentation built on July 24, 2024, 6:41 a.m.