library(COGiter)
#> Afin de vous connaitre et de mesurer l'usage de ce package, merci de lui mettre une étoile sur github :
#> https://github.com/MaelTheuliere/COGiter

Ce document va vous permettre de comprendre comment fonctionne les différentes fonctions de COGiter pour :

  • gérer les fusions de communes
  • consolider vos données communales au niveau epci, départements, régions ou autres zonages en votre possession.

Passer au cog à jour

Pour passer une table de données communale à la carte des communes à jour, vous pouvez utiliser la fonction passer_au_cog_a_jour() qui permet de retrouver pour tout code commune ayant existé le code commune aujourd’hui actif sur son périmètre géographique.

Attention, cette règle ne marche que pour les fusions de communes.

Le périmètre de couverture de la fonction est pour l’instant la France métropolitaine et les DROM.

tibble::glimpse(pop2015)
#> Rows: 35,441
#> Columns: 4
#> $ DEPCOM         <fct> 01001, 01002, 01004, 01005, 01006, 01007, 01008, 01009,…
#> $ pop2015        <dbl> 767, 241, 14127, 1619, 109, 2615, 747, 342, 1133, 390, …
#> $ pop2015_a_part <dbl> 18, 1, 504, 33, 6, 107, 18, 9, 19, 11, 4, 3, 94, 5, 12,…
#> $ pop2015_totale <dbl> 785, 242, 14631, 1652, 115, 2722, 765, 351, 1152, 401, …
pop2015_a_jour <- passer_au_cog_a_jour(pop2015,
  code_commune = DEPCOM,
  aggrege = TRUE,
  garder_info_supra = FALSE
)
tibble::glimpse(pop2015_a_jour)
#> Rows: 34,915
#> Columns: 4
#> $ DEPCOM         <fct> 01001, 01002, 01004, 01005, 01006, 01007, 01008, 01009,…
#> $ pop2015        <dbl> 767, 241, 14127, 1619, 109, 2615, 747, 342, 1133, 390, …
#> $ pop2015_a_part <dbl> 18, 1, 504, 33, 6, 107, 18, 9, 19, 11, 4, 3, 94, 12, 5,…
#> $ pop2015_totale <dbl> 785, 242, 14631, 1652, 115, 2722, 765, 351, 1152, 401, …

Construire des aggrégations supra communale

Pour reconstituer à partir d’une table de données communale l’ensemble des totaux pour les zonages supra communaux principaux de France (EPCI, départements, régions), vous pouvez utiliser la fonction cogifier() qui permet de recalculer sur la base d’une table communale ces totaux.

La fonction calcule le total en prenant en dimension toutes les variables facteur ou caractère de la table et en variable à agréger toutes les variables numériques.

En plus des agrégats epci, départements, régions, la fonction cogifier() permet de calculer :

  • le total France métropolitaine (metro = TRUE)
  • le total France métropolitaine et DROM (metrodrom = TRUE)
  • le total Départements et régions d’outre mer (drom = TRUE)
  • le total France de province (franceprovince = TRUE)
tibble::glimpse(pop2015)
#> Rows: 35,441
#> Columns: 4
#> $ DEPCOM         <fct> 01001, 01002, 01004, 01005, 01006, 01007, 01008, 01009,…
#> $ pop2015        <dbl> 767, 241, 14127, 1619, 109, 2615, 747, 342, 1133, 390, …
#> $ pop2015_a_part <dbl> 18, 1, 504, 33, 6, 107, 18, 9, 19, 11, 4, 3, 94, 5, 12,…
#> $ pop2015_totale <dbl> 785, 242, 14631, 1652, 115, 2722, 765, 351, 1152, 401, …
pop2015_cogifiee <- cogifier(pop2015, code_commune = DEPCOM)
tibble::glimpse(pop2015_cogifiee)
#> Rows: 36,283
#> Columns: 6
#> $ TypeZone       <fct> Communes, Communes, Communes, Communes, Communes, Commu…
#> $ Zone           <fct> "L'Abergement-Clémenciat", "L'Abergement-de-Varey", "Am…
#> $ CodeZone       <fct> 01001, 01002, 01004, 01005, 01006, 01007, 01008, 01009,…
#> $ pop2015        <dbl> 767, 241, 14127, 1619, 109, 2615, 747, 342, 1133, 390, …
#> $ pop2015_a_part <dbl> 18, 1, 504, 33, 6, 107, 18, 9, 19, 11, 4, 3, 94, 12, 5,…
#> $ pop2015_totale <dbl> 785, 242, 14631, 1652, 115, 2722, 765, 351, 1152, 401, …

Vous pouvez choisir deux types de format : un format dataframe qui constitue une table unique, un format liste qui constitue une liste de dataframes pour chaque zonage (communes, EPCI, départements, régions).

tibble::glimpse(pop2015)
#> Rows: 35,441
#> Columns: 4
#> $ DEPCOM         <fct> 01001, 01002, 01004, 01005, 01006, 01007, 01008, 01009,…
#> $ pop2015        <dbl> 767, 241, 14127, 1619, 109, 2615, 747, 342, 1133, 390, …
#> $ pop2015_a_part <dbl> 18, 1, 504, 33, 6, 107, 18, 9, 19, 11, 4, 3, 94, 5, 12,…
#> $ pop2015_totale <dbl> 785, 242, 14631, 1652, 115, 2722, 765, 351, 1152, 401, …
pop2015_cogifiee_liste <- cogifier(pop2015, code_commune = DEPCOM, as_df = FALSE)
tibble::glimpse(pop2015_cogifiee)
#> Rows: 36,283
#> Columns: 6
#> $ TypeZone       <fct> Communes, Communes, Communes, Communes, Communes, Commu…
#> $ Zone           <fct> "L'Abergement-Clémenciat", "L'Abergement-de-Varey", "Am…
#> $ CodeZone       <fct> 01001, 01002, 01004, 01005, 01006, 01007, 01008, 01009,…
#> $ pop2015        <dbl> 767, 241, 14127, 1619, 109, 2615, 747, 342, 1133, 390, …
#> $ pop2015_a_part <dbl> 18, 1, 504, 33, 6, 107, 18, 9, 19, 11, 4, 3, 94, 12, 5,…
#> $ pop2015_totale <dbl> 785, 242, 14631, 1652, 115, 2722, 765, 351, 1152, 401, …

Les fonctions cog_df_to_list() et cog_list_to_df() permettent de passer d’un format à l’autre.

pop2015_cogifiee_df <- cog_list_to_df(pop2015_cogifiee_liste)
tibble::glimpse(pop2015_cogifiee_df)
#> Rows: 36,283
#> Columns: 6
#> $ TypeZone       <fct> Communes, Communes, Communes, Communes, Communes, Commu…
#> $ Zone           <fct> "L'Abergement-Clémenciat", "L'Abergement-de-Varey", "Am…
#> $ CodeZone       <fct> 01001, 01002, 01004, 01005, 01006, 01007, 01008, 01009,…
#> $ pop2015        <dbl> 767, 241, 14127, 1619, 109, 2615, 747, 342, 1133, 390, …
#> $ pop2015_a_part <dbl> 18, 1, 504, 33, 6, 107, 18, 9, 19, 11, 4, 3, 94, 12, 5,…
#> $ pop2015_totale <dbl> 785, 242, 14631, 1652, 115, 2722, 765, 351, 1152, 401, …

Filtrer sur un sous ensemble du territoire

filtrer_cog() va permettre, sur une table cogifiée d’appliquer un filtre pour ne garder que certains zonages.

Exemple, si je ne souhaite garder que les données relatives à la région Pays de la Loire.

pop2015_cogifiee_r52 <- filtrer_cog(pop2015_cogifiee, reg = "52")
tibble::glimpse(pop2015_cogifiee_r52)
#> Rows: 1,307
#> Columns: 6
#> $ TypeZone       <fct> Communes, Communes, Communes, Communes, Communes, Commu…
#> $ Zone           <fct> "Abbaretz", "Aigrefeuille-sur-Maine", "Ancenis-Saint-Gé…
#> $ CodeZone       <fct> 44001, 44002, 44003, 44005, 44006, 44007, 44009, 44010,…
#> $ pop2015        <dbl> 2042, 3700, 10403, 6666, 1801, 2525, 8698, 2974, 2834, …
#> $ pop2015_a_part <dbl> 28, 104, 481, 86, 31, 57, 224, 100, 47, 38, 63, 194, 14…
#> $ pop2015_totale <dbl> 2070, 3804, 10884, 6752, 1832, 2582, 8922, 3074, 2881, …

On peut vouloir garder les informations pour le total des autres régions ou le total France entière.

pop2015_cogifiee_r52 <- filtrer_cog(pop2015_cogifiee, reg = "52", garder_supra = ">=")
tibble::glimpse(pop2015_cogifiee_r52)
#> Rows: 1,324
#> Columns: 6
#> $ TypeZone       <fct> Communes, Communes, Communes, Communes, Communes, Commu…
#> $ Zone           <fct> "Abbaretz", "Aigrefeuille-sur-Maine", "Ancenis-Saint-Gé…
#> $ CodeZone       <fct> 44001, 44002, 44003, 44005, 44006, 44007, 44009, 44010,…
#> $ pop2015        <dbl> 2042, 3700, 10403, 6666, 1801, 2525, 8698, 2974, 2834, …
#> $ pop2015_a_part <dbl> 28, 104, 481, 86, 31, 57, 224, 100, 47, 38, 63, 194, 14…
#> $ pop2015_totale <dbl> 2070, 3804, 10884, 6752, 1832, 2582, 8922, 3074, 2881, …