reforme-enseignement/APT_PARCOURS.R
2024-04-29 16:48:50 +02:00

151 lines
3.4 KiB
R

library(dplyr)
# Charger les données avec deux colonnes
df_APT<- read.csv("Downloads/Suppl.csv",
sep= ";",
encoding = "UTF-8",
# header = TRUE,
na.strings = T,
dec=","
)
## Enlever les lignes et colonnes vides
fun_enlever_lignes_vides <- function(df) {
df <-filter(df,!(df$parcelle_id==""))
}
df_APT <- df_APT[!apply(is.na(df_APT) | df_APT == "", 1, all), ]
df_APT <- df_APT[, 1:2]
df_APT <- df_APT[!grepl("\\d", df_APT[,2]), ]
## Enlever les accents
df_APT_sans_accents <- df_APT
df_APT_sans_accents[,1] <- iconv(df_APT[,1], "UTF-8", "ASCII", sub = "")
df_APT_sans_accents[,2] <- iconv(df_APT[,2], "UTF-8", "ASCII", sub = "")
df_APT <- df_APT_sans_accents
## Copier les noms dans la colonne 2 jusqu'à un nouveau nom
df_APT <- df_APT
for (i in 2:nrow(df_APT)) {
if (df_APT[i, 2] == "") {
df_APT[i, 2] <- df_APT[i - 1, 2]
}
}
## Identifier les apprentis et créer 2 df apprentis et initaux car différents
df_APT$apprenti <- NA
df_APT$apprenti[df_APT$X == "Accompagnement des apprentis"] <- "apprenti"
df_APT$apprenti[df_APT$X == "Priodes d'apprentissage en entreprise, semestre 1"] <- "apprenti" # cas des 2A faux apprentis
df_APT <- df_APT %>%
group_by(X.1) %>%
mutate(apprenti = ifelse("apprenti" %in% apprenti, "apprenti", apprenti))
df_APT$apprenti <- ifelse(is.na(df_APT$apprenti), "non-apprenti", df_APT$apprenti)
df_APT_apprenti <- df_APT[df_APT$apprenti == "apprenti", ]
df_APT_initiaux <- df_APT[df_APT$apprenti != "apprenti", ]
# Liste des termes à exclure
termes_a_exclure <- c("Ing - 1A", "Intitul du cours", "Approche professionnelle et sectorielle", "Approches des domaines", "Enjeux et dfis des sciences et technologies du vivant et de l'environnement", "Communication", "La recherche d'informations en sciences du vivant")
# Filtrer les lignes qui ne contiennent pas les termes spécifiés dans la colonne "X"
df_final <- df_APT_initiaux %>%
filter(!X %in% termes_a_exclure)
# Afficher le résultat final
print(df_final)
## Les approches domaines de 1A
index_approches_domaines <- which(df_APT_initiaux[, 1] == "Approches des domaines")
lignes_a_garder <- list()
for (i in index_approches_domaines) {
lignes_a_garder[[i]] <- c((i - 4):(i - 1))
}
df_APT_final <- df_APT_initiaux[-unlist(lignes_a_garder), ]
## Les MODULE INTEGRATIF de 1A
index_approches_domaines <- which(df_APT_final[, 1] == "MODULE INTEGRATIF")
lignes_a_garder <- list()
for (i in index_approches_domaines) {
lignes_a_garder[[i]] <- c((i - 12):(i - 1))
}
df_APT_final <- df_APT_final[-unlist(lignes_a_garder), ]
## DOMINANTE
index_approches_domaines <- which(df_APT_final[, 1] == "Ing - 2A")
lignes_a_garder <- list()
for (i in index_approches_domaines) {
lignes_a_garder[[i]] <- c((i - 44):(i - 1))
}
df_APT_final <- df_APT_final[-unlist(lignes_a_garder), ]
## LES UC à choix 2 A
index_approches_domaines <- which(df_APT_final[, 1] == "UE choix Semestre 1")
lignes_a_garder <- list()
for (i in index_approches_domaines) {
lignes_a_garder[[i]] <- c((i - 34):(i - 1))
}
df_APT_final <- df_APT_final[-unlist(lignes_a_garder), ]
## LA SPE 3 A
index_approches_domaines <- which(df_APT_final[, 1] == "Ing - 3A")
lignes_a_garder <- list()
for (i in index_approches_domaines) {
lignes_a_garder[[i]] <- c((i - 3):(i - 1))
}
test <- df_APT_final[-unlist(lignes_a_garder), ]