Les données de langue du Recensement de 2021 sont sorties cette semaine et elles ont déjà été ajoutées à l’excellent package {cancensus} de Jens von Bergmann. (merci!)

Je me demandais quelles villes du Québec perdent le plus leur français. Ma définition (c’est mon blog, c’est moi qui décide) de perdre le français, c’est que le pourcentage de gens dont la première langue officielle parlée est le français diminue entre 2016 et 2021.

On va utiliser les packages {cancensus} pour le data du recensement, {dplyr} pour le data wrangling, {sf} pour le spatial data wrangling et {mapview} pour créer une carte leaflet sans trop se casser le bécyke.

Faut commencer par trouver les variables de langue..

On utilise la fonction list_census_vectors() pour trouver toutes les variables variables du recensement de 2021 contenant le mot “language”. Il y en a plus de 1000. On est chanceux, le vecteur qu’on veut (personnes dont la première langue officieille parlée est le français ) est la 8e dans la liste : “Language; First official language spoken for the total population excluding institutional residents; French”. Il s’agit du vecteur “v_CA21_1165”.

On va devoir trouver le “parent” du vecteur pour avoir la population totale qui a répondu à la question. C’est la fonction parent_census_vector(), et elle va nous dire qu’il s’agit du vecteur “v_CA21_1159”

## # A tibble: 1 × 7
##   vector      type  label                units parent_vector aggregation details
##   <chr>       <fct> <chr>                <fct> <chr>         <chr>       <chr>  
## 1 v_CA21_1159 Total First official lang… Numb… <NA>          Additive    CA 202…

On fait la même chose pour 2016, on va trouver les vecteurs v_CA16_533(français) et v_CA16_527 (total)

## # A tibble: 1 × 7
##   vector     type  label                 units parent_vector aggregation details
##   <chr>      <fct> <chr>                 <fct> <chr>         <chr>       <chr>  
## 1 v_CA16_527 Total Total - First offici… Numb… <NA>          Additive    CA 201…

On va télécharger les données de langue au niveau de la ville (CSD) pour les deux recensements avec la fonction get_census(). On crée ensuite les variable pct_not_french2016 et pct_not_french2021 qui représente le pourcentage de personnes qui n’ont pas le français comme première langue officielle dans la ville.

Ensuite, on join les 2 bases de données selon la geo_uid (le numéro de ville) et on calcule “diff”, soit pct_not_french2021 moins pct_not_french2016. En dessous on va montrer un beau graphique et une carte de diff_max10, soit la différence cappée à 10% pour faire une belle carte.

Les pires municipalités.. (bon y’a un -10% qu’il faudrait investiguer à Saint-Guy)

La carte