mise à jour programme et conversion en script
This commit is contained in:
parent
ce83b86bfd
commit
92b6556804
4 changed files with 53 additions and 70 deletions
BIN
data.tar.gz
BIN
data.tar.gz
Binary file not shown.
53
montreal_neige.R
Normal file
53
montreal_neige.R
Normal 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)
|
BIN
montreal_neige_2019_premiere_bordee.png
Normal file
BIN
montreal_neige_2019_premiere_bordee.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
|
@ -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")
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
Loading…
Add table
Reference in a new issue