Autres corrections pour variables qui ont changé d nom ou de format. Données considérées prêtes à être analysées
This commit is contained in:
parent
f53221e6b5
commit
ad541030f5
3 changed files with 5314 additions and 38 deletions
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
.Rproj.user
|
||||
.Rhistory
|
||||
.RData
|
|
@ -18,7 +18,7 @@ UUID = "c60b2248-0ca4-4b12-89d3-2f087a319bea"
|
|||
# URL pour récupérer les métadonnées
|
||||
urlRDF <- paste0("http://www.donnees.gouv.qc.ca/geonetwork/srv/eng/rdf.metadata.get?uuid=",UUID)
|
||||
# Document de métadonnées
|
||||
RDFdoc<- urlRDF %>%
|
||||
RDFdoc <- urlRDF %>%
|
||||
xmlTreeParse %>%
|
||||
xmlRoot
|
||||
```
|
||||
|
@ -43,7 +43,7 @@ Je veux extraire les noms des fichiers de données pour les télécharger
|
|||
|
||||
```{r}
|
||||
datafileNames <- champsDistribution %>%
|
||||
lapply(function(x) as.character(x[x["format"]=="WWW:DOWNLOAD-1.0-ftp--downloadWWW:DOWNLOAD-1.0-ftp--download"])) %>%
|
||||
lapply(function(x) as.character(x[x["format"] == "WWW:DOWNLOAD-1.0-ftp--downloadWWW:DOWNLOAD-1.0-ftp--download"])) %>%
|
||||
FilterList(function(x) !identical(character(0),x)) %>%
|
||||
as.data.frame %>% t
|
||||
datafileNames
|
||||
|
@ -64,54 +64,64 @@ noms_fichiers_telecharges <- list.files(path = ".", pattern = ".csv")
|
|||
system("bash conversion_csv.sh")
|
||||
```
|
||||
|
||||
Je les importe ensuite
|
||||
Je les importe ensuite, puis je corrige toutes les incohérences pour faire la fusion
|
||||
|
||||
```{r}
|
||||
rawdata <- list()
|
||||
rawdata <-lapply(1:7,function(i) rawdata[[i]] <- read.csv2(paste0("tr_tableau_de_bord_",i,".csv"),
|
||||
rawdata <- lapply(1:7,function(i) rawdata[[i]] <- read.csv2(paste0("tr_tableau_de_bord_",i,".csv"),
|
||||
header = TRUE,
|
||||
sep=";",
|
||||
encoding="utf-8",
|
||||
sep = ";",
|
||||
encoding = "utf-8",
|
||||
stringsAsFactors = FALSE,
|
||||
dec = ","))
|
||||
rawdata %>% lapply(names)
|
||||
```
|
||||
|
||||
Je corrige les incohérences manuellement jusqu'à temps que je puisse faire la jointure des données
|
||||
|
||||
```{r}
|
||||
# Correction des tirets et conversion en numérique de la variable Pourcentage_avancement dans le 4e fichier
|
||||
rawdata[[4]]$Pourcentage_avancement[levels(rawdata[[4]]$Pourcentage_avancement) == "-"] <- NA
|
||||
rawdata[[4]]$Pourcentage_avancement <- as.integer(rawdata[[4]]$Pourcentage_avancement)
|
||||
rawdata[[1]]$Cote_de_coût <- as.numeric(rawdata[[1]]$Cote_de_coût)
|
||||
rawdata[[2]]$Cote_de_coût <- as.numeric(rawdata[[2]]$Cote_de_coût)
|
||||
rawdata[[3]]$Cote_de_coût <- as.numeric(rawdata[[3]]$Cote_de_coût)
|
||||
rawdata[[1]]$Variation_de_coût <- as.numeric(rawdata[[1]]$Variation_de_coût)
|
||||
rawdata[[2]]$Variation_de_coût <- as.numeric(rawdata[[2]]$Variation_de_coût)
|
||||
rawdata[[3]]$Variation_de_coût <- as.numeric(rawdata[[3]]$Variation_de_coût)
|
||||
rawdata[[1]]$Variation_écheancier <- as.numeric(rawdata[[1]]$Variation_écheancier)
|
||||
rawdata[[2]]$Variation_écheancier <- as.numeric(rawdata[[2]]$Variation_écheancier)
|
||||
rawdata[[3]]$Variation_écheancier <- as.numeric(rawdata[[3]]$Variation_écheancier)
|
||||
rawdata[[5]]$Montant_reel_depense <- gsub(",", ".", rawdata[[5]]$Montant_reel_depense)
|
||||
rawdata[[5]]$Montant_reel_depense <- gsub(" ", "", rawdata[[5]]$Montant_reel_depense)
|
||||
rawdata[[5]]$Montant_reel_depense <- as.numeric(rawdata[[5]]$Montant_reel_depense)
|
||||
rawdata[[5]]$Montant_reel_depense[105:450] <- rawdata[[5]]$Montant_reel_depense[105:450]*1000
|
||||
rawdata[[5]]$Cout_estime_pour_completer_le_projet <- gsub(",", ".", rawdata[[5]]$Cout_estime_pour_completer_le_projet)
|
||||
rawdata[[5]]$Cout_estime_pour_completer_le_projet <- gsub(" ", "", rawdata[[5]]$Cout_estime_pour_completer_le_projet)
|
||||
rawdata[[5]]$Cout_estime_pour_completer_le_projet <- as.numeric(rawdata[[5]]$Cout_estime_pour_completer_le_projet)
|
||||
rawdata[[5]]$Cout_estime_pour_completer_le_projet[105:450] <- rawdata[[5]]$Cout_estime_pour_completer_le_projet[105:450]*1000
|
||||
rawdata[[5]]$Budget_autorise_revise <- gsub(",", ".", rawdata[[5]]$Budget_autorise_revise)
|
||||
rawdata[[5]]$Budget_autorise_revise <- gsub(" ", "", rawdata[[5]]$Budget_autorise_revise)
|
||||
rawdata[[5]]$Budget_autorise_revise <- as.numeric(rawdata[[5]]$Budget_autorise_revise)
|
||||
rawdata[[5]]$Budget_autorise_revise[105:450] <- rawdata[[5]]$Budget_autorise_revise[105:450]*1000
|
||||
rawdata[[5]]$Budget_autorise_initial <- gsub(",", ".", rawdata[[5]]$Budget_autorise_initial)
|
||||
rawdata[[5]]$Budget_autorise_initial <- gsub(" ", "", rawdata[[5]]$Budget_autorise_initial)
|
||||
rawdata[[5]]$Budget_autorise_initial <- as.numeric(rawdata[[5]]$Budget_autorise_initial)
|
||||
rawdata[[5]]$Budget_autorise_initial[105:450] <- rawdata[[5]]$Budget_autorise_initial[105:450]*1000
|
||||
|
||||
# Conversion en numérique pour compatibilité avec fusion de numériques au lieu d'entiers
|
||||
for (i in 1:3)
|
||||
{
|
||||
rawdata[[i]]$Cote_de_coût <- as.numeric(rawdata[[i]]$Cote_de_coût)
|
||||
rawdata[[i]]$Variation_de_coût <- as.numeric(rawdata[[i]]$Variation_de_coût)
|
||||
rawdata[[i]]$Variation_écheancier <- as.numeric(rawdata[[i]]$Variation_écheancier)
|
||||
}
|
||||
|
||||
for (i in 1:4)
|
||||
{
|
||||
rawdata[[i]]$Cote_écheancier <- as.numeric(rawdata[[i]]$Cote_écheancier)
|
||||
}
|
||||
rawdata[[5]]$Cote_echeancier <- as.numeric(rawdata[[5]]$Cote_echeancier)
|
||||
|
||||
rawdata[[5]]$Variation_de_cote_echeancier[levels(rawdata[[5]]$Variation_de_cote_echeancier) == "-"] <- NA
|
||||
rawdata[[5]]$Variation_de_cote_echeancier <- as.numeric(rawdata[[5]]$Variation_de_cote_echeancier)
|
||||
|
||||
# Correction des montants pour 4 variables dans le 5e fichier
|
||||
correction.montants.5 <- function(donnees)
|
||||
{
|
||||
donnees2 <- as.numeric(gsub(" ", "", gsub(",", ".", donnees)))
|
||||
donnees2[105:450] <- donnees2[105:450]*1000
|
||||
donnees2
|
||||
}
|
||||
|
||||
rawdata[[5]]$Montant_reel_depense <- correction.montants.5(rawdata[[5]]$Montant_reel_depense)
|
||||
rawdata[[5]]$Cout_estime_pour_completer_le_projet <- correction.montants.5(rawdata[[5]]$Cout_estime_pour_completer_le_projet)
|
||||
rawdata[[5]]$Budget_autorise_revise <- correction.montants.5(rawdata[[5]]$Budget_autorise_revise)
|
||||
rawdata[[5]]$Budget_autorise_initial <- correction.montants.5(rawdata[[5]]$Budget_autorise_initial)
|
||||
|
||||
# Conversion des noms de colonnes invalides
|
||||
convertir.noms <- function(noms)
|
||||
{
|
||||
noms <- noms %>% iconv(to="ASCII//TRANSLIT") %>% tolower
|
||||
noms[noms=="date_de_fin_revise"] <- "date_de_fin_revisee"
|
||||
noms <- noms %>% iconv(to = "ASCII//TRANSLIT") %>% tolower
|
||||
noms[noms == "date_de_fin_revise"] <- "date_de_fin_revisee"
|
||||
noms[noms == "cote_de_cout"] <- "indicateur_de_cout"
|
||||
noms[noms == "indicateur_du_cout"] <- "indicateur_de_cout"
|
||||
noms[noms == "variation_cout"] <- "variation_de_cout"
|
||||
noms[noms == "cote_echeancier"] <- "indicateur_de_l_echeancier"
|
||||
noms[noms == "date_de_fin_prevue"] <- "date_de_fin_prevue_a_autorisation"
|
||||
noms[noms == "budget_autorise"] <- "budget_autorise_initial"
|
||||
noms[noms == "variation_de_cote_de_cout"] <- "variation_de_cout"
|
||||
noms[noms == "variation_de_cote_echeancier"] <- "variation_echeancier"
|
||||
noms
|
||||
}
|
||||
|
||||
|
@ -121,10 +131,13 @@ for (i in 1:7)
|
|||
}
|
||||
|
||||
```
|
||||
|
||||
Jointure de tous les fichiers de données dans une même table
|
||||
|
||||
```{r}
|
||||
rawdata2 <- dplyr::bind_rows(rawdata)
|
||||
|
||||
write.csv(rawdata2, "donnees_clean.csv",quote = TRUE,row.names = FALSE, na = "")
|
||||
```
|
||||
|
||||
|
||||
|
|
5260
donnees_clean.csv
Normal file
5260
donnees_clean.csv
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue