Profils fonciers par classe de population
Comment la part résidentielle publiée varie-t-elle selon la classe de population?
À produire : Un tableau de médianes et quartiles et des boîtes à moustaches par classe de population, avec la définition du poste FIALX02005.
Prérequis : Savoir ouvrir un projet RStudio et exécuter un script R. Reconnaître une variable, un décompte et une proportion.
Préparation enseignante
Télécharger la trousse ci-dessous. Extraire le ZIP, puis double-cliquer sur Donnees-bleues.Rproj. Avant la séance, ouvrir installer-packages.R et cliquer sur Source avec une connexion Internet.
Une fois les packages installés, les scripts utilisent les fichiers inclus et peuvent être exécutés hors ligne.
Télécharger la trousse avec les données
277 Ko. Préparation : 05/09/2026 à 07:04 (heure du Québec).
Les fichiers de données sont inclus dans la trousse.
Conditions de la source · Provenance et empreinte du ZIP
Fichiers inclus
-
dictionnaire_postes_profil_financier_2025.csv: 21 lignes, 6 colonnes. -
profil_financier_municipalites_2025.csv: 1 105 lignes, 31 colonnes. -
profil_financier_municipalites_long_2025.csv: 15 470 lignes, 24 colonnes. -
valeurs_manquantes_profil_financier_2025.csv: 31 lignes, 4 colonnes.
Contexte
Cette activité utilise la fiche Profil financier des municipalités locales du Québec. Unité : Une municipalité, ou un couple municipalité-poste dans la table longue.
Source : Données Québec / Ministère des Affaires municipales et de l’Habitation. Les dates de préparation, les fichiers et les conditions de réutilisation sont indiqués dans la trousse.
Consignes
- Ouvrir
activite-courte.Rdans le sous-dossierdatasets/budgets-municipaux-quebecdu projet RStudio et cliquer sur Source. Les tableaux apparaissent dans Console et les graphiques dans Plots. - Vérifier le sens du poste FIALX02005 dans le dictionnaire.
- Comparer médianes, quartiles et boîtes à moustaches par classe de population.
- Rédiger une réponse à la question en nommant l’unité observée et une limite de la source.
Limites à faire nommer
Le dictionnaire distingue parts et indices. Comparer des profils publiés ne permet pas d’évaluer l’efficacité d’une administration.
Vérifier le travail
- L’unité, la période ou la portée documentaire et les variables utilisées sont nommées.
- La conclusion répond à la question et explique au moins une limite précise.
Objectifs et adaptations
Adaptations
- Débuter avec le script exécuté par la personne enseignante, puis faire interpréter une seule sortie.
- Pour approfondir, modifier une sélection ou un regroupement et justifier ce que cela change.
Statut documenté : Documentation de source et ressources de classe fournies.
Contribution pédagogique : Aurélien Nicosia. Usage en cours non documenté.
- Ajout
- Mise à jour
Code complet
Ce script complet est celui de la trousse. Il lit les fichiers locaux et affiche les résultats dans RStudio.
Afficher le script R
# Profils fonciers par classe de population
# Ouvrir le projet RStudio de l’archive, puis exécuter ce script.
# Source : https://www.donneesquebec.ca/recherche/dataset/profil-financier-des-municipalites-locales
# Les données de classe sont figées; ce script ne les télécharge pas.
# Load libraries
library(dplyr)
library(ggplot2)
library(readr)
# Import prepared data
municipalites <- read_csv(
"data/processed/budgets-municipaux-quebec/profil_financier_municipalites_2025.csv",
show_col_types = FALSE
)
dictionnaire <- read_csv(
"data/processed/budgets-municipaux-quebec/dictionnaire_postes_profil_financier_2025.csv",
show_col_types = FALSE
)
# Check the meaning of FIALX02005
print(dictionnaire |>
filter(code_poste == "FIALX02005") |>
select(code_poste, libelle_court, type_indicateur))
# Summarise by population class
resume_classes <- municipalites |>
filter(!is.na(classe_population), !is.na(FIALX02005)) |>
group_by(classe_population) |>
summarise(
municipalites = n(),
population_totale = sum(population, na.rm = TRUE),
part_residentielle_mediane = median(FIALX02005, na.rm = TRUE),
part_residentielle_q1 = quantile(FIALX02005, 0.25, na.rm = TRUE),
part_residentielle_q3 = quantile(FIALX02005, 0.75, na.rm = TRUE),
.groups = "drop"
)
print(resume_classes)
# Plot distribution by class
print(ggplot(
municipalites |> filter(!is.na(classe_population), !is.na(FIALX02005)),
aes(x = classe_population, y = FIALX02005)
) +
geom_boxplot(fill = "#8FC7D9", color = "#1F3B57", outlier.alpha = 0.35) +
coord_flip() +
labs(
x = "Classe de population",
y = "Part résidentielle publiée",
title = "Part résidentielle par classe de population",
subtitle = "Profil financier 2024-2025, données de 2025"
))