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), ]