# Load libraries
library(dplyr)
library(ggplot2)
library(readr)
# Prepare and import data
source("datasets/qualite-air-horaire/preparation.R")
air_jour <- read_csv(
"data/processed/qualite-air-horaire/resume_journalier_contaminants_2025.csv",
show_col_types = FALSE
)
pm25 <- air_jour |>
filter(contaminant_source == "PM2.5-T640", n_heures_valides >= 18)
pm25 |>
arrange(desc(moyenne)) |>
select(date, station_name, n_heures_valides, moyenne, maximum) |>
slice_head(n = 10)
ggplot(pm25, aes(x = date, y = moyenne, group = station_id)) +
geom_line(alpha = 0.25, linewidth = 0.3) +
labs(
title = "Moyennes journalières de PM2.5 par station, 2025",
x = "Date",
y = "Moyenne journalière des valeurs publiées"
) +
theme_minimal()PM2.5 et journées élevées en 2025
En classe, cette activité sert à…
Cette activité sert à travailler les notions suivantes : séries temporelles, résumé journalier, valeurs manquantes, visualisation, communication prudente à partir d’une question située dans le contexte suivant : Environnement. Elle demande aux étudiantes et étudiants de répondre à la question directrice suivante : Quelles journées présentent les moyennes journalières de PM2.5 les plus élevées, et que peut-on conclure prudemment?
| Élément | Information |
|---|---|
| Durée | 60-90 minutes |
| Niveau | Introduction à intermédiaire |
| Usage recommandé | Laboratoire guidé |
| Préparation enseignant | Préparation requise : exécuter Rscript datasets/qualite-air-horaire/preparation.R depuis la racine, puis vérifier que data/processed/qualite-air-horaire/resume_journalier_contaminants_2025.csv existe. |
| Production attendue | Un tableau ou graphique descriptif accompagné de trois phrases d’interprétation prudente. |
| Données | data/processed/qualite-air-horaire/resume_journalier_contaminants_2025.csv |
Préparation enseignante
- Préparation requise : exécuter
Rscript datasets/qualite-air-horaire/preparation.Rdepuis la racine, puis vérifier quedata/processed/qualite-air-horaire/resume_journalier_contaminants_2025.csvexiste. - Fichier préparé :
data/processed/qualite-air-horaire/resume_journalier_contaminants_2025.csv. - Script de préparation :
datasets/qualite-air-horaire/preparation.R. - Point à surveiller : Faire comparer les résultats avec un seuil de 18 heures valides et avec 24 heures valides.
Limites à faire nommer
- Faire comparer les résultats avec un seuil de 18 heures valides et avec 24 heures valides.
- Si une variable ou un dénominateur nécessaire n’est pas disponible dans les données, l’écrire explicitement plutôt que l’inférer.
Contexte
Le RSQAQ publie des mesures horaires de contaminants atmosphériques. Dans cette activité, vous travaillez avec un résumé journalier préparé à partir du CSV officiel 2025.
La question n’est pas seulement de trouver les plus grandes valeurs. Il faut aussi vérifier la couverture horaire et expliquer ce qu’un classement descriptif permet ou ne permet pas de conclure.
Objectifs d’apprentissage
- Importer un fichier préparé avec
readr. - Filtrer un contaminant précis.
- Utiliser un seuil minimal d’heures valides.
- Produire une visualisation temporelle.
- Rédiger une conclusion descriptive prudente.
Données utilisées
Source : Données Québec / MELCCFP / RSQAQ, RSQAQ - Données horaires continues, ressource CSV 2025.
Fichier préparé : data/processed/qualite-air-horaire/resume_journalier_contaminants_2025.csv.
Fiche : Qualité de l’air au Québec.
Consignes
- Exécuter
source("datasets/qualite-air-horaire/preparation.R"). - Importer le résumé journalier.
- Garder seulement
contaminant_source == "PM2.5-T640". - Garder les jours avec au moins 18 heures valides.
- Identifier les dix moyennes journalières les plus élevées.
- Produire une série temporelle des moyennes journalières par station.
- Rédiger une conclusion de 6 à 8 lignes.
Code de départ
Questions
- Pourquoi impose-t-on un seuil minimal d’heures valides?
- Quelle journée et quelle station arrivent en tête du classement?
- Le classement change-t-il si on exige 24 heures valides?
- Pourquoi une moyenne journalière élevée ne suffit-elle pas à identifier une cause?
- Que faudrait-il ajouter comme données pour interpréter un épisode?
Résultats attendus
Une réponse correcte doit nommer le contaminant, le seuil d’heures valides, les stations les plus élevées et au moins une limite méthodologique.
Une réponse plus solide compare les résultats obtenus avec n_heures_valides >= 18 et n_heures_valides == 24.
Prolongement
Refaire l’analyse pour O3, puis expliquer pourquoi les valeurs de PM2.5 et O3 ne doivent pas être placées sur la même échelle sans justification.
Fiche de mise en œuvre
Contrat pédagogique
Le statut pédagogique décrit le degré de préparation de l’activité. Il ne remplace pas la vérification de la source de données.
- Objectifs d'apprentissage
-
-
Importer un fichier préparé avec
readr. - Filtrer un contaminant précis.
- Utiliser un seuil minimal d'heures valides.
- Produire une visualisation temporelle.
- Rédiger une conclusion descriptive prudente.
-
Importer un fichier préparé avec
- Prérequis
-
- Vérifier le fichier ou le script de préparation annoncé avant la séance; adapter la mise en route au niveau indiqué.
- Préparation enseignante
-
-
Préparation requise : exécuter
Rscript datasets/qualite-air-horaire/preparation.Rdepuis la racine, puis vérifier quedata/processed/qualite-air-horaire/resume_journalier_contaminants_2025.csvexiste.
-
Préparation requise : exécuter
- Production attendue
-
- Un tableau ou graphique descriptif accompagné de trois phrases d'interprétation prudente.
- Critères de réussite
-
- La production attendue est remise : Un tableau ou graphique descriptif accompagné de trois phrases d'interprétation prudente.
- Les résultats sont interprétés sans dépasser les limites de la source.
- Adaptations possibles
-
- Fournir une table préparée ou réduire le nombre de variables pour une première utilisation.
- Ajouter une comparaison, une justification méthodologique ou une discussion des limites pour approfondir.
Statut pédagogique : Prête à enseigner