Convertit les codes géographiques des communes dans une autre année du code officiel géographique (COG). Les années vont de 2008 au dernier millésime disponible.
Usage
change_cog(
data,
cog_from,
cog_to,
from = NULL,
to = NULL,
infos = FALSE,
split_ratio = FALSE,
one_to_one = FALSE
)Arguments
- data
Un objet de type data frame ou vecteur.
- cog_from
Année initiale du code officiel géographique, à partir de 2008.
- cog_to
Année finale du code officiel géographique, à partir de 2008.
- from
<tidy-select>Colonne initiale des communes. Par défaut, première colonne. Sans objet sidataest un vecteur.- to
Colonne finale pour les communes. Par défaut, même nom que la colonne initiale. Sans objet si
dataest un vecteur.- infos
Ajouter les informations de la table de passage. Par défaut, FALSE. Sans objet si
dataest un vecteur.- split_ratio
Ajouter une clé de répartition pour la réaffectation des effectifs quand des communes sont scindées. Par défaut, FALSE. Sans objet si
dataest un vecteur.- one_to_one
Ne garder qu'une seule commmune en cas de scission. Le code est celui de la commune initiale s'il est présent dans l'une des communes issues de la scission, sinon il correspond à celui de la commune fille qui est la plus peuplée. Cette option permet d'éviter que des lignes soient dupliquées en cas de scission. Par défaut, FALSE.
Value
Un objet du même type que data.
Pour une data frame, une data frame avec un nombre de lignes égal ou supérieur. Le nombre de ligne est toujours égal si
one_to_one = TRUE.Pour un vecteur, un vecteur de dimension égale ou supérieure. La dimension est toujours égale si
one_to_one = TRUE.
Examples
# Un exemple de data frame avec quelques communes
data <- data.frame(COM=c("14712", "16233", "16351", "53239", "53249", "53274"))
# Change l'annee du code officiel geographique des communes
data |> change_cog(from = "COM", cog_from = 2019, cog_to = 2021)
#> COM
#> 1 14666
#> 2 14712
#> 3 16233
#> 4 16233
#> 5 53249
#> 6 53249
#> 7 53249
# Variante : ne retient qu'une commune apres scission
data |> change_cog(
from = "COM",
to = "COM_21",
cog_from = 2019,
cog_to = 2021,
one_to_one = TRUE
)
#> COM COM_21
#> 1 14712 14712
#> 2 16233 16233
#> 3 16351 16233
#> 4 53239 53249
#> 5 53249 53249
#> 6 53274 53249
# Informations de la table de passage
data |> change_cog(
from = "COM",
to = "COM_21",
cog_from = 2019,
cog_to = 2021,
infos = TRUE
)
#> COM COM_21 POP_INI POP_FIN NB_COM_INI NB_COM_FIN
#> 1 14712 14666 5428 1912 1 2
#> 2 14712 14712 5428 3481 1 2
#> 3 16233 16233 451 1026 2 1
#> 4 16351 16233 594 1026 2 1
#> 5 53239 53249 421 1121 3 1
#> 6 53249 53249 463 1121 3 1
#> 7 53274 53249 237 1121 3 1
# Cle de repartition pour les scissions
data |> change_cog(
from = "COM",
to = "COM_21",
cog_from = 2019,
cog_to = 2021,
split_ratio = TRUE
)
#> COM COM_21 SPLIT_RATIO
#> 1 14712 14666 0.3545337
#> 2 14712 14712 0.6454663
#> 3 16233 16233 1.0000000
#> 4 16351 16233 1.0000000
#> 5 53239 53249 1.0000000
#> 6 53249 53249 1.0000000
#> 7 53274 53249 1.0000000
# Pour un vecteur
change_cog(data = c("14712", "16233", "16351"), cog_from = 2019, cog_to = 2021)
#> [1] "14666" "14712" "16233" "16233"
