--- title: "Concentration de CO2 dans l'atmosphère depuis 1958" author: "Fanny" date: "2023-12-08" output: word_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` ##Introduction En 1958, Charles David Keeling a initié une mesure de la concentration de CO2 dans l'atmosphère à l'observatoire de Mauna Loa, Hawaii, États-Unis qui continue jusqu'à aujourd'hui. L'objectif initial était d'étudier la variation saisonnière, mais l'intérêt s'est déplacé plus tard vers l'étude de la tendance croissante dans le contexte du changement climatique. En honneur à Keeling, ce jeu de données est souvent appelé "Keeling Curve" ([voir](https://en.wikipedia.org/wiki/Keeling_Curve) pour l'histoire et l'importance de ces données). Les données sont disponibles sur le site Web de l'institut Scripps. Utilisez le fichier avec les observations hebdomadaires. Attention, ce fichier est mis à jour régulièrement avec de nouvelles observations. Notez donc bien la date du téléchargement, et gardez une copie locale de la version précise que vous analysez. Faites aussi attention aux données manquantes. Le fichier a été téléchargé le 08/12/2023. On télécharge le document via le site [Scrippsco2](https://scrippsco2.ucsd.edu/data/atmospheric_co2/mlo.html) On observe le fichier et on voir que les 44 premières lignes sont des commentaires. On va donc retirer les 43 premières lignes. ```{r} knitr::opts_chunk$set(eval = FALSE) data_url = "https://scrippsco2.ucsd.edu/assets/data/atmospheric/stations/in_situ_co2/weekly/weekly_in_situ_co2_mlo.csv" data = read.csv2(data_url, header= TRUE, sep= ",", skip=43) ``` Une copie locale du fichier a été sauvegarder au cas où les donnée soient modifiées ou supprimées. Il est possible d'ouvrir le fichier soit avec la version en ligne, soit via la copie locale. ```{r} data_file = "weekly_in_situ_co2_mlo.csv" if (!file.exists(data_file)) { download.file(data_url, data_file, method="auto") } data <- data_file ``` #Préparation et inspection des données on regarde la base de données et comment sont codées les variables. ```{r} head(data) tail(data) ``` Les données vont de 1958 à 2023, et la concentration en CO2 est représenté par un indice chaque semaine. On regarde s'il y a des données manquantes ```{r, echo=FALSE} na_records = apply(data, 1, function (x) any(is.na(x))) data[na_records,] ``` Aucune données n'est manquantes dans la base de données. On va renommer les colonnes pour pouvoir mieux analyser les données ```{r, echo=FALSE} colnames(data) <- c("Date", "CO2") data<-data[-1,] ``` On regarde ensuite comment sont codé les variables. ```{r, echo=FALSE} class(data$Date) #character class(data$CO2) #numeric ``` La variable Date est codé comme un character et la variable CO2 comme un numérique. On va transformer la variable Date en format date. Les données date sont sous le format Année-mois-jour. ```{r} data$Date = as.Date(data$Date) class(data$Date) ``` La vairable "Date" est maintenant codé comme une date. On vérifie bien qu'il y est 7 jours entre chaque semaine ```{r} data = data[order(data$Date),] all(diff(data$Date) == 7) ``` chaque semaine commence un samedi. On crée une variable année et une variable mois, pour regarder l'évolution annuelle et mensuelle de la concentration en CO2 ```{r} data$Année <- format(as.Date(data$Date, format= "%Y-%m-%d"), "%Y") data$Mois<- format(as.Date(data$Date, format= "%Y-%m-%d"), "%Y-%m") ``` On regarde ensuite la distibution de la moyenne de la concentration anuuelle de 1958 à 2023 ```{r} class(data$Année) data$Année = as.numeric(data$Année) library(dplyr) data_annual_mean <- data %>% group_by(Année) %>% summarise(mean_CO2 = mean(CO2, na.rm= TRUE)) plot(data_annual_mean, type="l", xlab="Année", ylab="Concentratin moyenne annuelle en CO2") ``` **Interprétation**: on observe une augmentation de la concentration moyenne en CO2 de 1958 à 2023. On cherche maintenant à montrer une oscillation périodique et l'évolution systématique plus lente. Pour cela nous avons utilisé la sinusoide avec le package ggplot2 ```{r} library(ggplot2) x <- data$Date y <- sin(data$CO2) data_periodique <-data.frame(x, y, data$CO2) ggplot(data_periodique, aes(x, y)) + geom_line(aes(y= y), color = "blue") + geom_line(aes(y= data.CO2), color = "red") ```