151 lines
3.4 KiB
R
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), ]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|