| Type: | Package |
| Title: | Recueil De Paramètres Législatifs et Réglementaires Sur Les Retraites Françaises |
| Version: | 0.1.6 |
| Description: | Fournit un recueil de paramètres législatifs et réglementaires sur les retraites françaises, ainsi que des fonctions pour rechercher ces paramètres par génération et catégorie d'assuré et pour reconstituer les échantillons des enquêtes interrégimes EIR et EIC de la DREES. |
| URL: | https://git.drees.fr/drees_code_public/outils/legiretraite |
| License: | EUPL-1.2 |
| Encoding: | UTF-8 |
| Language: | fr |
| LazyData: | true |
| Depends: | R (≥ 4.3.0) |
| Imports: | lubridate, data.table, tidyr, arrow, checkmate, logger |
| Suggests: | testthat (≥ 3.0.0) |
| Config/testthat/edition: | 3 |
| RoxygenNote: | 7.3.3 |
| NeedsCompilation: | no |
| Packaged: | 2026-09-20 17:28:35 UTC; ubuntu |
| Author: | Mélissa M'Piayi [aut], Mathieu Sigal [aut], Ambroise Warnery [aut], Pierre Cheloudko [aut], Arthur Katossky [cre, aut], Direction de la recherche, des études, de l'évaluation et des statistiques (DREES), Observation de la solidarité (OSOL), Bureau des retraites (BRET) [cph] |
| Maintainer: | Arthur Katossky <arthur.katossky@sante.gouv.fr> |
| Repository: | CRAN |
| Date/Publication: | 2026-10-07 16:50:07 UTC |
Âges et durées de référence par catégorie et génération
Description
Table de référence rassemblant les principaux paramètres d'âge et de durée du droit à retraite (âge d'ouverture des droits, âge d'annulation de la décote, âge maximum, durée requise, durée de proratisation), par catégorie d'assuré et par génération (date de naissance charnière). Chaque ligne donne la valeur d'un paramètre ('grandeur') applicable à une 'categorie' à partir d'une 'dateNaissance'.
Usage
ageDuree
Format
Un 'data.table' de 598 lignes et 4 colonnes :
- valeur
Valeur du paramètre. En années pour les grandeurs d'âge ('AOD', 'AAD', 'Age maximum'), en trimestres pour les durées ('Duree', 'Duree proratisation').
- grandeur
Paramètre concerné : ‘"AOD"' (âge d’ouverture des droits), ‘"AAD"' (âge d’annulation de la décote), '"Age maximum"', '"Duree"' (durée requise) ou '"Duree proratisation"'.
- categorie
Catégorie d'assuré, p. ex. '"Droit commun"', '"Actif fonction publique"', '"Superactif regime special"', '"CNAVPL"', '"MSA exploitant"', '"Agirc Arrco Ircantec"', '"Inapte"', '"Invalide"'.
- dateNaissance
Date de naissance charnière ('Date') à partir de laquelle la valeur s'applique, jusqu'à la charnière suivante de la même '(grandeur, categorie)'.
Details
Construite à partir des fichiers 'inst/extdata/*.csv' par le script 'tools/creer-ageDuree.R'.
Source
Fichiers 'inst/extdata/*.csv' du package, agrégés par 'tools/creer-ageDuree.R'.
Renvoie l'AOD en vecteur
Description
Alias de aod_individuel() qui renvoie uniquement le vecteur d'AOD.
Usage
aod(
dateNaissance,
dateLiq = NA,
caisse = NA_character_,
categorie = NA_character_
)
Arguments
dateNaissance |
date de naissance (Date, vectorisé) |
dateLiq |
date de liquidation (Date, vectorisé, optionnel) |
caisse |
nom de la caisse (character, vectorisé, optionnel) |
categorie |
catégorie : "actif", "superactif", "sedentaire", "invalide", "inapte" (character, vectorisé, optionnel) |
Value
vecteur numérique des AOD
Examples
# AOD (âge d'ouverture des droits) de droit commun, génération 1955
aod(as.Date("1955-01-01"))
# Vectorisé sur plusieurs dates de naissance
aod(as.Date(c("1950-01-01", "1954-01-01", "1973-01-01")))
# Pour une caisse particulière (usage typique dans trajectoire)
aod(as.Date("1958-01-01"), caisse = "MSA exploitant")
# Avec une date de liquidation et une caisse
aod(as.Date("1962-06-01"), dateLiq = as.Date("2024-01-01"), caisse = "CNAVPL")
Récupère les AOD pour la caisse, la catégorie et la date de naissance spécifiées
Description
Récupère les AOD pour la caisse, la catégorie et la date de naissance spécifiées
Usage
aod_individuel(
dateNaissance,
dateLiq = NA,
caisse = NA_character_,
categorie = NA_character_
)
Arguments
dateNaissance |
date de naissance (Date, vectorisé) |
dateLiq |
date de liquidation (Date, vectorisé, optionnel) |
caisse |
nom de la caisse (character, vectorisé, optionnel) |
categorie |
catégorie : "actif", "superactif", "sedentaire", "invalide", "inapte" (character, vectorisé, optionnel) |
Value
Un ‘data.table' d’une ligne par observation, avec la colonne 'aod' (âge d'ouverture des droits, numérique) et les clés fournies ('dateNaissance', 'caisse', 'categorie').
Examples
# AOD de droit commun pour plusieurs générations
aod_individuel(as.Date(c("1955-01-01", "1962-01-01")))
# Pour une caisse et une date de liquidation données
aod_individuel(as.Date("1962-06-01"), dateLiq = as.Date("2024-01-01"),
caisse = "CNAVPL")
Internal : logique de lookup AOD
Description
Séparée de aod_individuel() pour permettre le remplacement dans les benchmarks.
Usage
aod_lookup(
dateNaissance,
dateLiq = NA,
caisse = NA_character_,
categorie = NA_character_
)
Arguments
dateNaissance |
date de naissance (Date, vectorisé) |
dateLiq |
date de liquidation (Date, vectorisé, optionnel) |
caisse |
nom de la caisse (character, vectorisé, optionnel) |
categorie |
catégorie : "actif", "superactif", "sedentaire", "invalide", "inapte" (character, vectorisé, optionnel) |
Value
Un 'data.table' avec la colonne 'aod' et les clés ('dateNaissance', 'caisse', 'categorie').
Internal : lookup avec déduplication
Description
Internal : lookup avec déduplication
Usage
aod_lookup_dedup(
dateNaissance,
dateLiq = NA,
caisse = NA_character_,
categorie = NA_character_
)
Arguments
dateNaissance |
date de naissance (Date, vectorisé) |
dateLiq |
date de liquidation (Date, vectorisé, optionnel) |
caisse |
nom de la caisse (character, vectorisé, optionnel) |
categorie |
catégorie : "actif", "superactif", "sedentaire", "invalide", "inapte" (character, vectorisé, optionnel) |
Value
Un 'data.table' avec la colonne 'aod' et les clés ('dateNaissance', 'caisse', 'categorie').
Internal : logique de lookup AOD sans déduplication
Description
Internal : logique de lookup AOD sans déduplication
Usage
aod_lookup_inner(
dateNaissance,
dateLiq = NA,
caisse = NA_character_,
categorie = NA_character_
)
Récupère tous les AOD, quelle que soit la catégorie ou l'année de naissance
Description
Le résultat est caché après le premier appel. La colonne ‘dateNaissanceEstimee' est ajoutée pour les lignes qui n’ont qu'une 'dateApplication' : elle est calculée comme 'dateApplication - aod * 12 mois'.
Usage
aod_reference()
Value
Un 'data.table' de la table de référence des AOD, avec notamment les colonnes ‘aod' (âge d’ouverture des droits), 'caisse', 'categorie', 'dateNaissance', 'dateApplication' et 'dateNaissanceEstimee'.
Examples
# Table de référence complète
head(aod_reference())
# Barème AOD de droit commun par génération (caisse et catégorie non
# renseignées), comme utilisé pour tracer l'AOD dans trajectoire
aod_reference()[is.na(caisse) & is.na(categorie), .(dateNaissance, aod)]
Caisses individuelles des régimes spéciaux
Description
Liste des caisses individuelles considérées comme appartenant au pool des régimes spéciaux ('caisse = "Regime special"') pour les barèmes AOD. Le lookup 'aod_lookup()' re-route automatiquement ces caisses vers ‘"Regime special"' tant qu’un barème individuel n'est pas disponible.
Usage
caissesRegimesSpeciauxIndividuels
Format
Un vecteur 'character' des codes de caisses des régimes spéciaux (p. ex. '"SNCF"', '"ENIM"', '"RATP"').
Examples
caissesRegimesSpeciauxIndividuels
# Ces caisses sont routées vers le barème commun "Regime special"
"SNCF" %in% caissesRegimesSpeciauxIndividuels
Jours de naissance échantillonnés des enquêtes EIR et EIC
Description
Reconstitue, pour une ou plusieurs enquêtes de la DREES (Échantillon interrégimes de retraités, EIR, et Échantillon interrégimes de cotisants, EIC), l'ensemble des jours de naissance retenus dans l'échantillon : par génération, l'échantillonnage sélectionne certaines dates de naissance précises (souvent en début de mois), selon un calendrier propre à chaque enquête et à chaque génération.
Usage
echantillonage(
enquete = c("EIR_2016", "EIR_2020", "EIR_2024", "EIC_2013", "EIC_2017", "EIC_2021"),
format = "long"
)
Arguments
enquete |
Vecteur de codes d'enquêtes à inclure. Valeurs possibles : '"EIR_2016"', '"EIR_2020"', '"EIR_2024"', '"EIC_2013"', '"EIC_2017"', '"EIC_2021"'. Par défaut, toutes les enquêtes connues. |
format |
Forme du résultat : '"long"' (défaut) pour une ligne par couple (enquête, jour de naissance) ; '"large"' pour une ligne par jour de naissance et une colonne booléenne par enquête indiquant l'appartenance à son échantillon. |
Value
Un 'data.table'. En format '"long"', les colonnes 'enquete' et 'jour_de_naissance' ('Date'). En format '"large"', la colonne 'jour_de_naissance' et une colonne logique par enquête.
Examples
# Jours de naissance échantillonnés de l'EIR 2020
echantillonage("EIR_2020")
# Croiser plusieurs enquêtes en format large
echantillonage(c("EIC_2017", "EIC_2021"), format = "large")
Lecture d'une table de l'EACR
Description
Relit une table de l'EACR embarquée dans le paquet, telle que la Drees la diffuse : aucune ligne n'est écartée, aucune valeur n'est recodée. Seuls les noms de colonnes sont normalisés ('Champ_FluxStock' devient ‘champFluxStock') et leurs types posés à l’import.
Usage
lireEacr(table, chemin = NULL, brut = FALSE)
Arguments
table |
le nom de la table, parmi 'tablesEacr()$table' |
chemin |
le dossier où lire les parquets ; par défaut celui du paquet |
brut |
faut-il rendre la table sans écarter les cellules fautives |
Details
Quatre traits de la source à connaître avant de superposer une de ses séries à une sortie du modèle :
- une même année figure **deux fois** dans ‘A-Cadrage', dans l’enquête de l'année puis actualisée dans celle de l'année suivante ; la colonne 'plusRecent' désigne la plus récente des deux, mais les tables 'C' et 'D' ne sont alors plus cohérentes avec 'A' ; - les effectifs sont des **stocks au 31 décembre** et les montants ceux de décembre : le produit effectif × pension × 12 n'est pas la masse versée dans l'année ; - la variation du stock d'une année sur l'autre **n'égale pas** les nouveaux retraités moins les décès, dans la plupart des régimes et des années ; la documentation de la source quantifie ce défaut de bouclage ; - les régimes sont désignés par leur code caisse ‘cc', comme dans l’EIC et l'EIR, mais l'EACR agrège là où l'EIR détaille (‘"1000"' pour l’Ircantec, '"2100"' pour la CNAVPL) et couvre des organismes que le modèle ne connaît pas ('"0000"' tous régimes confondus, la CNAM, la CNBF, la CSS Mayotte).
Les cases de moins de onze personnes sont déjà à valeur manquante dans la source.
Toute réutilisation doit porter la mention « Source : Drees, enquête annuelle auprès des caisses de retraite (EACR), enrichie avec le modèle Ancetre ».
Chaque table n'est lue qu'une fois par session, et la fonction rend une copie : la modifier par référence n'atteint pas la lecture suivante.
Les cellules que la source publie de travers sont écartées à la lecture, et un avertissement les nomme (voir 'cellulesFautivesEacr'). 'brut = TRUE' rend la table telle que la source la publie, défauts compris.
Value
une 'data.table'
Examples
# Les noms de tables disponibles
tablesEacr()$table
# Lire une table (recodage minimal, cellules fautives écartées)
cadrage <- lireEacr("A-Cadrage")
head(cadrage)
Millésime de l'EACR embarquée
Description
Quelle version de la source les parquets du paquet reproduisent, et quand elle a été téléchargée. La mention du millésime accompagne la citation de la source sur les figures.
Usage
millesimeEacr(chemin = NULL)
Arguments
chemin |
le dossier où lire le millésime ; par défaut celui du paquet |
Value
une ‘data.table' d’une ligne par classeur téléchargé
Examples
# Millésime (version et date de téléchargement) de l'EACR embarquée
millesimeEacr()
Tables de l'EACR embarquées dans le paquet
Description
Registre des tables de l'enquête annuelle auprès des caisses de retraite : une ligne par feuille des deux classeurs diffusés par la Drees. Il fait le lien entre le nom de feuille de la source et le fichier que le paquet embarque, et sert donc autant à ‘lireEacr()' qu’au script d'import.
Usage
tablesEacr()
Value
une ‘data.table' d’une ligne par table, de clé 'table'
Examples
# Le registre des tables de l'EACR embarquées dans le paquet
tablesEacr()