Importation

Cette page regroupe la première importation des données à l’état brute ainsi que les manipulation de bases.

Auteur·rice
Affiliation
Date de publication

21 décembre 2022

Introduction

Le présent projet travaille avec deux bases de données : La première est issue de Our World in Data, un site qui publie gratuitement des bases de données et de la recherche sur les enjeux contemporains que le monde traverse (économie, écologie, climat, énergie, conflits etc).
La deuxième base de donnée est issue de Gapminder, une OBNL suèdoise, qui propose en libre accès d’importantes bases de données aussi sur les enjeux actuels, dans le but de prévenir et lutter contre la mésinformation.

Importation quotidienne

Jeu de données CO2 Our World in Data

La base de donnée CO2 & Greenhouse Gas Emissions est utilisée. Elle permet de faire différentes explorations statistiques sur les émissions de CO2 dans 207 pays depuis le 19ème siècle.

On peut retrouver les données ici ainsi que le projet associé à celles-ci.

Code
#Données CO2 d'OWID

urlowid = "https://raw.githubusercontent.com/owid/co2-data/master/owid-co2-data.csv"
basepath =  path("data", "raw") 
fnameowid = paste(today(), "owid-co2-data.csv", sep = "_") 
fpathowid = path(basepath, fnameowid) 
dataowid = download.file(url = urlowid, destfile = fpathowid)

dat_owid = read_csv(fpathowid, show_col_types = FALSE)

#Automatisation du script, fréquence de téléchargement quotidienne

dailydowload <- function(fnameowid) { if (!file.exists(fpathowid)) {
    file.remove(junk)
    download.file(url = urlowid,
                  destfile = fpathowid)
    paste("Le fichier",
          fpathowid,
          "n'existait pas, il a donc été téléchargé à l'instant.")
} else {
    print(paste("Le fichier",
                fpathowid,
                "existe déjà, il ne sera pas téléchargé à nouveau.")
    ) }
    
}

Jeu de données Gapminder

La base de données Life Expectancy at Birth est utilisée. Elle permet aussi de faire des analyses statistiques sur la question de l’espérance de vie depuis le 19ème siècle. L’espérance de vie est aujourd’hui un des meilleurs indicateurs de développement d’un pays ainsi qu’une solide mesure de projection économique et démographique. Cette base de données contient au total 1505 observations

On peut retrouver les données ici ainsi que le projet associé à celles-ci.

Code
#Données gapminder
library(gsheet)

#Utilisation de la fonction gsheet2tbl du package gsheet qui permet de convertir facilement une sheet google en dataframe

urlgapminder =  gsheet2tbl("https://docs.google.com/spreadsheets/d/1RheSon1-q4vFc3AGyupVPH6ptEByE-VtnjOCselU0PE/edit#gid=176703676")

#incorporation dans data/raw
basepathgm = path("data", "raw")

fnamegm = paste(today(), "gapm.csv", sep = "_")

fpathgm = path(basepathgm, fnamegm)

write_csv(x = urlgapminder, file = fpathgm)

datgm = read_csv(fpathgm, show_col_types = FALSE)

#Automatisation du script, fréquence de téléchargement mensuelle

x = today()

monthlydowload <- function(fnamegm) { 
    if (!file.exists(fpathgm)) {
        file.remove(junk)
        download.file(url = urlgapminder,
                      destfile = fpathgm)
        paste("Le fichier",
              fpathgm,
              "n'existait pas, il a donc été téléchargé à l'instant.")
    }
    else if (!month(x)) {
        file.remove(junk)
        download.file(url = urlgapminder,
                      destfile = fpathgm)
        paste("Le fichier", 
              fpathgm,
              "n'existait pas il a donc été téléchargé à l'instant")
    }
    
    
    else {
        print(paste("Le fichier",
                    fpathowid,
                    "existe déjà, il ne sera pas téléchargé à nouveau.")
        ) }
    
}   

Manipulation des données

Données CO2

La base de données CO2 contient 46.523 observations regroupé en 74 variables. Cette base de données propose de mieux comprendre les sources d’énergies dans 207 pays.Pour obtenir une meilleure lecture et analyse des données, il est apparu plus simple de traiter la base de données CO2 avec quelques variables et non dans sa totalité. Au total, 18 sur 74 variables ont été sélectionnées.

La description de chacune de celles-ci sera expliqué dans le document exploration.

Code
#Transformation des données en tibble

as.tibble(dat_owid)
# A tibble: 46,523 × 74
   country      year iso_c…¹ popul…²   gdp cemen…³ cemen…⁴   co2 co2_g…⁵ co2_g…⁶
   <chr>       <dbl> <chr>     <dbl> <dbl>   <dbl>   <dbl> <dbl>   <dbl>   <dbl>
 1 Afghanistan  1850 AFG     3752993    NA      NA      NA    NA      NA      NA
 2 Afghanistan  1851 AFG     3769828    NA      NA      NA    NA      NA      NA
 3 Afghanistan  1852 AFG     3787706    NA      NA      NA    NA      NA      NA
 4 Afghanistan  1853 AFG     3806634    NA      NA      NA    NA      NA      NA
 5 Afghanistan  1854 AFG     3825655    NA      NA      NA    NA      NA      NA
 6 Afghanistan  1855 AFG     3844769    NA      NA      NA    NA      NA      NA
 7 Afghanistan  1856 AFG     3863976    NA      NA      NA    NA      NA      NA
 8 Afghanistan  1857 AFG     3883276    NA      NA      NA    NA      NA      NA
 9 Afghanistan  1858 AFG     3902671    NA      NA      NA    NA      NA      NA
10 Afghanistan  1859 AFG     3922160    NA      NA      NA    NA      NA      NA
# … with 46,513 more rows, 64 more variables: co2_including_luc <dbl>,
#   co2_including_luc_growth_abs <dbl>, co2_including_luc_growth_prct <dbl>,
#   co2_including_luc_per_capita <dbl>, co2_including_luc_per_gdp <dbl>,
#   co2_including_luc_per_unit_energy <dbl>, co2_per_capita <dbl>,
#   co2_per_gdp <dbl>, co2_per_unit_energy <dbl>, coal_co2 <dbl>,
#   coal_co2_per_capita <dbl>, consumption_co2 <dbl>,
#   consumption_co2_per_capita <dbl>, consumption_co2_per_gdp <dbl>, …
Code
#Filtrage du tibble

dat_CO2 <-  dat_owid %>% 

    select(country, year, iso_code, population, gdp, co2, cement_co2_per_capita, 

           co2_per_gdp, coal_co2, coal_co2_per_capita, gas_co2, gas_co2_per_capita,

           methane, methane_per_capita, oil_co2, oil_co2_per_capita, ghg_per_capita, trade_co2)

Classement par continent

Dans les deux banques de données que nous utilisons, j’ai créé une variable qui regroupe les différents pays en sous-groupe des 5 continents soit : l’Afrique, l’Amérique, l’Asie, l’Europe et l’Océanie. Ceci me permettra de faire des comparaisons plus large en me référant au continent et non au pays.

Code
dat_CO2 <-  dat_CO2 %>% 
    mutate(continent = countrycode(sourcevar = dat_owid$country,
                                   origin = "country.name",
                                   destination = "continent"))
datgm <-  datgm %>%
    mutate(continent = countrycode(sourcevar = datgm$name,
                                   origin = "country.name",
                                   destination = "continent"))

Temps écoulé

Il est également intéressant de voir le temps écoulé entre la production de se rapport et la première année que des données ont été récoltées pour chacun des pays qui se trouvent dans le jeu de données de Life Expectancy at Birth.

Cette variable prendra le nom de time dans la banque de données. Ne fonctionne pas (on a manqué de temps…)

Code
# datgm <- datgm |> 
#     mutate(time_since = "01-01") |>
#     unite(time, time_since, col = time, sep = "-") |> 
#     mutate(total = as.Date(time, format = "%Y/%m/%d")) |> 
#     mutate(jour = difftime(as.POSIXct(today()),
#                            as.POSIXct(as.Date(min(datgm$date), 
#                                               format = "%Y-%m-%d"))))

Recoder certaines variables

Dans les banques de données que nous utilisons, des variables qui regroupent le même type d’information n’ont pas nécessairement le même nom.

Notamment, dans la banque de données r par uniformiser ceci, notamment en renommant les colonnes des pays pour countryet pour l’année year.

Code
datgm <- datgm |> 
    rename(country = name,
           year = time,
           life_exp = `Life expectancy`)

Joindre les banques de données

Code
datultimate = inner_join(dat_CO2, datgm)

Exporter

Maintenant qu’une première manipulation des données a été fait, nous pouvons exporter celles-ci comme étant des données traitées dans le dossier data/processed.

Les prochaines analyses auront comme point de départ les données traitées, donc qui ont été exportées dans le chemin relatif ci-dessus.

Code
write_csv(dat_CO2,file = "data/processed/dat_CO2.csv")

write_csv(datgm, file = "data/processed/datgm.csv")

write_csv(datultimate, file = "data/processed/datultimate.csv")

Citation

BibTeX
@online{cécileamadoroetjulietteleblanc2023,
  author = {Cécile Amadoro et Juliette Leblanc},
  title = {Importation},
  date = {2023-09-12},
  url = {https://VOTREUSERNAME.github.io/FAS1002_projet-final//import.html},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
Cécile Amadoro et Juliette Leblanc. 2023. “Importation.” September 12, 2023. https://VOTREUSERNAME.github.io/FAS1002_projet-final//import.html.