mise à jour programme et conversion en script

This commit is contained in:
François Pelletier 2021-04-17 15:34:39 -04:00
parent ce83b86bfd
commit 92b6556804
4 changed files with 53 additions and 70 deletions

Binary file not shown.

53
montreal_neige.R Normal file
View file

@ -0,0 +1,53 @@
library(tidyverse)
fichiers <-
list.files(path = "data",
pattern = "*.csv",
full.names = TRUE)
bordee <- 10
premier_mois <- 9
col_spec <- cols(
.default = col_double(),
`Nom de la Station` = col_character(),
`Date/Heure` = col_date()
)
data_neige <- fichiers %>%
lapply(
FUN = function(x)
x %>%
read_csv(
# Séparateur décimal
locale = locale(decimal_mark = ","),
col_types = col_spec,
# Valeurs manquantes
na = c("T", "E", "M", "<31")
)
) %>%
bind_rows()
premiere_bordee <-
data_neige %>%
# On sélectionne les données d'intérêt
select(`Date/Heure`, `Année`, Mois, Jour, `Neige tot. (cm)`) %>%
# On sélectionne les bordées
filter(`Neige tot. (cm)` >= bordee) %>%
# On sélectionne à partir de septembre de chaque année
filter(Mois >= premier_mois) %>%
# On trie par date
arrange(`Année`, Mois, Jour) %>%
# On regroupe par année
group_by(`Année`) %>%
# On garde la première date par année
filter(row_number() == 1) %>%
# On formate les données pour affichage sur un graphique
transmute(Date = ISOdate(0, Mois, Jour), neige_cm = `Neige tot. (cm)`)
graph.neige <-
ggplot2::ggplot(data = premiere_bordee, aes(x = `Année`, y = Date)) +
geom_point(aes(size = neige_cm)) +
ggtitle("Date de la première bordée (10 cm) à Montréal")
ggsave("montreal_neige_2019_premiere_bordee.png", plot = graph.neige)

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View file

@ -1,70 +0,0 @@
---
title: "Date de la première bordée"
output:
pdf_document:
fig_caption: yes
keep_tex: yes
html_notebook: default
---
Source des données:
- [Rapport de données quotidiennes (2004-2012)](https://climat.meteo.gc.ca/climate_data/daily_data_f.html?hlyRange=1953-01-01%7C2013-02-14&dlyRange=1941-09-01%7C2013-02-13&mlyRange=1941-01-01%7C2013-02-01&StationID=5415&Prov=QC&urlExtension=_f.html&searchType=stnName&optLimit=specDate&StartYear=1840&EndYear=2019&selRowPerPage=25&Line=2&searchMethod=contains&txtStationName=Montreal&timeframe=2&Day=12&Year=2004&Month=11#)
- [Rapport de données quotidiennes (2013-2019)](https://climat.meteo.gc.ca/climate_data/daily_data_f.html?hlyRange=2013-02-13%7C2019-11-11&dlyRange=2013-02-14%7C2019-11-11&mlyRange=%7C&StationID=51157&Prov=QC&urlExtension=_f.html&searchType=stnName&optLimit=yearRange&StartYear=1840&EndYear=2019&selRowPerPage=25&Line=4&searchMethod=contains&txtStationName=Montreal&timeframe=2&Day=12&Year=2013&Month=11#)
```{r message=FALSE, warning=FALSE}
library(tidyverse)
```
Liste des fichiers
```{r}
fichiers <- list.files(pattern = "*.csv")
```
Specification des colonnes
```{r}
col_spec <- cols(
.default = col_double(),
`Nom de la Station` = col_character(),
`Date/Heure` = col_date()
)
```
Lecture des données
```{r}
data_neige <- fichiers %>%
lapply(
FUN = function(x)
x %>%
read_csv(
locale = locale(decimal_mark = ","),
col_types = col_spec,
na = c("T", "E", "M", "<31")
)
) %>%
bind_rows()
```
Extraction des jours avec plus de 10 cm de neige entre le mois de septembre et décembre
```{r}
premiere_bordee <-
data_neige %>% select(`Date/Heure`, `Année`, Mois, Jour, `Neige tot. (cm)`) %>%
filter(`Neige tot. (cm)` >= 10) %>%
filter(Mois >= 9) %>%
arrange(`Année`, Mois, Jour) %>%
group_by(`Année`) %>%
filter(row_number() == 1) %>%
transmute(date = ISOdate(0, Mois, Jour), neige_cm = `Neige tot. (cm)`)
premiere_bordee
```
Visualisation
```{r}
ggplot2::ggplot(data = premiere_bordee, aes(x = `Année`, y = date)) +
geom_point(aes(size = neige_cm)) +
ggtitle("Date de la première bordée (10 cm) à Montréal")
```