Effectuer un diagnostic sur le COG présent dans une base de données

diag_COG(
  table_entree,
  codgeo_entree = colnames(table_entree)[1],
  ign_na = FALSE,
  id_doubl = FALSE,
  hypothese_COG = annee_ref,
  table_diagnostic = TRUE
)

Arguments

table_entree

correspond à la table à diagnostiquer (ajout de la colonne de diagnostic au tableau en entrée, nouveaux paramètres optionnels ign_na et id_doubl, simplification du diagnostic)

codgeo_entree

est une chaîne de caractères qui indique le nom de la variable contenant les codes Insee communaux. Par défaut, il s'agit du nom de la première colonne de table_entree.

ign_na

vaut TRUE si on souhaite ignorer les codes manquants. Valeur FALSE par défaut.

id_doubl

vaut TRUE si on souhaite ajouter une colonne d'identification des codes en double à l'export. Valeur FALSE par défaut.

hypothese_COG

(optionnelle) hypothèse formulée par l'utilisateur concernant l'année de référence de COG supposée de la base de données. Le diagnostic sera alors effectué par rapport à cette année de COG. vaut annee_ref (COG le plus récent) par défaut.

table_diagnostic

vaut TRUE si on souhaite obtenir en sortie une table avec un diagnostic de COG pour chaque ligne. vaut TRUE par défaut.

Details

Le code officiel géographique le plus récent du package est actuellement celui au 01/01/2024.

Les millésimes des COG qui peuvent être utilisés sont à ce stade les suivants : 1968, 1975, 1982, 1990, 1999, annuel à partir de 2008.

Les dates de référence des codes officiels géographiques utilisés dans COGugaison sont les suivantes :

  • COG 1968 : à partir du 01/03/1968

  • COG 1975 : à partir du 20/02/1975

  • COG 1982 : à partir du 04/03/1982

  • COG 1990 : à partir du 05/03/1990

  • COG 1999 : à partir du 08/03/1999

  • Pour tous les autres COG : à partir du 01/01 de chaque année


Les différences entre les tables de passage Insee et non Insee sont les suivantes :

  • 1982-03-03 (pris en compte par l'Insee seulement après le 04/03/1982): Flaignes-Havys (08169) est un rassemblement de Flaignes-Havys (08169), Havys (08221) [fusion simple].

  • 2014-01-01 (pris en compte par l'Insee seulement au 01/01/2015) : Loisey (55298) s'est séparée en Loisey (55298), Culey (55138) [rétablissement].

  • 1990-02-01 (pris en compte par l'Insee seulement après le 05/03/1990) : Le code commune de Oudon passe de 14624 à 14697 [changement de code dû à un changement de chef-lieu].

  • 2014-01-07 (pris en compte par l'Insee dès le 01/01/2016) : Tôtes est rattachée à Notre-Dame-de-Fresnay qui devient L'Oudon (changement de code de l'Oudon de 14697 à 14472) [transfert de chef-lieu].

  • 1981-09-28 (pris en compte par l'Insee dès le 20/02/1975) : Vaudreuil-Ex-Ensemble Urbain (27701) est créée à partir des parcelles d'Incarville (27351), de Léry (27365) , de Porte-Joie (27471) , de Poses (27474) , de Saint-Étienne-du-Vauvray (27537), de Saint-Pierre-du-Vauvray (27598), de Tournedos-sur-Seine (27651) et du Vaudreuil (27528) [création]. Cette situation étant complexe, nous avons pour le moment considéré que Vaudreuil-Ex-Ensemble Urbain (27701) est créée à partir de parcelles du Vaudreuil (27528) uniquement.

  • En 1968, les 4 communes qui auraient dû d'après le COG être codées 2B044,2B076,2B151 et 2A325 sont codées 20044,20076,20151 et 20325 dans les données Insee.

Examples

## Exemple 1
# Exemple d'une table dont le COG est au carré
sortie <- diag_COG(COG2010)
#> [1] "# ------------------------------"
#> [1] "# DIAGNOSTIC DE COG"
#> [1] "# ------------------------------"
#> [1] "# Synthèse"
#> [1] "# COG2010"
#> [1] "# ------------------------------"
#> [1] "# Diagnostic détaillé"
#> [1] "# Le fichier compte 36699 codes communes."
#> [1] "# Le diagnostic de COG correspond au COG le plus récent dans lequel l'ensemble des codes communes du fichier en entrée sont présents."
#> 
#> 
#> |              | Nombre d'observations|
#> |:-------------|---------------------:|
#> |COG2010       |                 36699|
#> |codes uniques |                 36699|
## Exemple 2
# Exemple d'une table qui mix plusieurs COG
 library(dplyr)
#> 
#> Attaching package: ‘dplyr’
#> The following objects are masked from ‘package:stats’:
#> 
#>     filter, lag
#> The following objects are masked from ‘package:base’:
#> 
#>     intersect, setdiff, setequal, union
 table_fictive <- rbind(COG2014,COG2015,COG2013) %>%
 distinct(CODGEO, .keep_all = TRUE) %>%
  add_row(CODGEO = c(rep("01001",5),"75101",NA,"98756","ZZZZZ"))
 # Sans hypothèse préalable sur le COG probable de la table
 sortie <- diag_COG(table_fictive)
#> [1] "# ------------------------------"
#> [1] "# DIAGNOSTIC DE COG"
#> [1] "# ------------------------------"
#> [1] "# Synthèse"
#> [1] "# COG non identifiable"
#> [1] "# ------------------------------"
#> [1] "# Diagnostic détaillé"
#> [1] "# Le fichier compte 36693 codes communes."
#> [1] "# Dans la mesure où le COG n'est pas identifiable, pour chaque commune considérée, le diagnostic de COG correspond au COG le plus récent qui contient son code commune."
#> 
#> 
#> |                         | Nombre d'observations|
#> |:------------------------|---------------------:|
#> |2024                     |                 34939|
#> |2015                     |                   771|
#> |2016                     |                   468|
#> |2018                     |                   386|
#> |2017                     |                    59|
#> |2014                     |                    25|
#> |2023                     |                    13|
#> |2022                     |                    11|
#> |2021                     |                    10|
#> |2019                     |                     3|
#> |2020                     |                     3|
#> |2013                     |                     1|
#> |arrondissement municipal |                     1|
#> |code indéterminé         |                     1|
#> |code manquant            |                     1|
#> |collectivité d'outre-mer |                     1|
#> |codes uniques            |                 36688|
 # En ayant une hypothèse préalable sur le COG de sortie de la table
 COG_akinator(table_fictive$CODGEO)
#> NULL
 sortie <- diag_COG(table_fictive, hypothese_COG = 2013)
#> [1] "# ------------------------------"
#> [1] "# DIAGNOSTIC DE COG"
#> [1] "# ------------------------------"
#> [1] "# Synthèse"
#> [1] "# COG non identifiable"
#> [1] "# ------------------------------"
#> [1] "# Diagnostic détaillé"
#> [1] "# Le fichier compte 36693 codes communes."
#> [1] "# Dans la mesure où le COG n'est pas identifiable, pour chaque commune considérée, le diagnostic de COG correspond au COG le plus proche de l'année de référence (2013) qui contient son code commune."
#> 
#> 
#> |                         | Nombre d'observations|
#> |:------------------------|---------------------:|
#> |2013                     |                 36686|
#> |2014                     |                     2|
#> |2015                     |                     1|
#> |arrondissement municipal |                     1|
#> |code indéterminé         |                     1|
#> |code manquant            |                     1|
#> |collectivité d'outre-mer |                     1|
#> |codes uniques            |                 36688|