| Title: | Standardized Economic Reporting and Automated Dynamic Writing / Synthèse d'Écrits Avec des Règles Automatisées et Dynamiques |
|---|---|
| Description: | Provides tools for generating dynamic and standardized economic narratives in R Markdown documents. The package is primarily designed for French-language statistical and economic publications. It includes functions to describe changes in levels, percentages, trends, accelerations and short-term economic developments using consistent linguistic rules. The package supports automated reporting workflows and reproducible economic writing. Fournit des outils permettant de générer des textes économiques dynamiques et standardisés dans des documents R Markdown. Le package est principalement conçu pour les publications statistiques et économiques en français. Il propose des fonctions permettant de décrire les évolutions de niveaux, de pourcentages, de tendances, d'accélérations et les évolutions conjoncturelles à l'aide de règles linguistiques homogènes. Le package facilite l'automatisation de la rédaction et la reproductibilité des publications économiques. |
| Authors: | Alexandre Cazenave-Lacroutz [aut] (ORCID: <https://orcid.org/0000-0003-3488-6092>), Jules Lejas [cre], Direction de l'animation de la recherche, des études et des statistiques (Dares) [cph] |
| Maintainer: | Jules Lejas <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.2.6 |
| Built: | 2026-10-09 13:25:06 UTC |
| Source: | https://github.com/cran/serad |
Calcule l'accélération entre trois niveaux successifs en comparant les taux de variation consécutifs.
a(x1, x2, x3)a(x1, x2, x3)
x1 |
Niveau le plus récent. |
x2 |
Niveau précédent. |
x3 |
Niveau le plus ancien. |
L'accélération correspond à la variation du taux entre
(x1, x2) et (x2, x3).
Un nombre numérique correspondant à l'accélération en pourcentage.
a(4, 2, 1) # 0 a(6, 2, 1) # 100 a(2, 1, 1) # valeur très élevée si taux précédent proche de zéroa(4, 2, 1) # 0 a(6, 2, 1) # 100 a(2, 1, 1) # valeur très élevée si taux précédent proche de zéro
Arrondit un nombre selon la règle arithmétique (0.5 vers le haut),
contrairement à round() qui utilise l'arrondi bancaire.
arrondi_tot(x, digits = 1)arrondi_tot(x, digits = 1)
x |
Nombre à arrondir. |
digits |
Entier indiquant le nombre de décimales. Positif pour les décimales, négatif pour les dizaines, centaines, etc. Par défaut : 1. |
Un nombre numérique arrondi.
arrondi_tot(1877.85, digits = 0) # 1878 arrondi_tot(1877.85, digits = 1) # 1877.9 arrondi_tot(1877.85, digits = -1) # 1880arrondi_tot(1877.85, digits = 0) # 1878 arrondi_tot(1877.85, digits = 1) # 1877.9 arrondi_tot(1877.85, digits = -1) # 1880
Compare deux niveaux successifs et retourne une formulation selon l'évolution observée.
comparaison( x1, x2, hausse_defaut, egalite_defaut, baisse_defaut, seuil = 0.1, alt = 0, hausse_alt = hausse_defaut, egalite_alt = egalite_defaut, baisse_alt = baisse_defaut )comparaison( x1, x2, hausse_defaut, egalite_defaut, baisse_defaut, seuil = 0.1, alt = 0, hausse_alt = hausse_defaut, egalite_alt = egalite_defaut, baisse_alt = baisse_defaut )
x1 |
Niveau le plus récent. |
x2 |
Niveau le plus ancien. |
hausse_defaut |
Formulation en cas de hausse. |
egalite_defaut |
Formulation en cas de stabilité. |
baisse_defaut |
Formulation en cas de baisse. |
seuil |
Seuil d'égalité en valeur absolue. Par défaut : 0.1. |
alt |
Indicateur logique permettant d'utiliser une formulation alternative. |
hausse_alt |
Formulation alternative en cas de hausse. |
egalite_alt |
Formulation alternative en cas de stabilité. |
baisse_alt |
Formulation alternative en cas de baisse. |
La comparaison repose sur le taux de variation calculé via g.
Des cas particuliers sont traités lorsque x2 est nul ou négatif.
Les exemples ci-dessous proposent trois formulations à copier-coller et à adapter selon le contexte. Ces fonctions ne font pas partie du package.
Une chaîne de caractères correspondant à la formulation retenue.
comparaison(1.04, 1, "augmente", "reste stable", "diminue") comparaison(0.9991, 1, "augmente", "reste stable", "diminue") comparaison(1, 1, "augmente", "reste égal", "diminue", seuil = 0) # Situer un niveau par rapport à un autre : # « le niveau est au-dessus de celui de l'année précédente ». formuler_position <- function(x1, x2, lang = get_serad_language()) { if (lang == "en") { comparaison( x1, x2, hausse_defaut = "above", egalite_defaut = "at the same level as", baisse_defaut = "below", seuil = 0 ) } else { comparaison( x1, x2, hausse_defaut = "au-dessus de", egalite_defaut = "au même niveau que", baisse_defaut = "en dessous de", seuil = 0 ) } } formuler_position(104, 100) # Qualifier une tendance : # « la tendance est à la hausse ». formuler_tendance <- function( x1, x2, seuil = 0.1, lang = get_serad_language() ) { if (lang == "en") { comparaison( x1, x2, hausse_defaut = "upward", egalite_defaut = "stable", baisse_defaut = "downward", seuil = seuil ) } else { comparaison( x1, x2, hausse_defaut = "à la hausse", egalite_defaut = "stable", baisse_defaut = "à la baisse", seuil = seuil ) } } formuler_tendance(1.04, 1) # Comparer des nombres d'éléments : # « il y en a davantage ». formuler_quantite <- function(x1, x2, lang = get_serad_language()) { if (lang == "en") { comparaison( x1, x2, hausse_defaut = "more", egalite_defaut = "as many", baisse_defaut = "fewer", seuil = 0 ) } else { comparaison( x1, x2, hausse_defaut = "davantage", egalite_defaut = "autant", baisse_defaut = "moins", seuil = 0 ) } } formuler_quantite(104, 100)comparaison(1.04, 1, "augmente", "reste stable", "diminue") comparaison(0.9991, 1, "augmente", "reste stable", "diminue") comparaison(1, 1, "augmente", "reste égal", "diminue", seuil = 0) # Situer un niveau par rapport à un autre : # « le niveau est au-dessus de celui de l'année précédente ». formuler_position <- function(x1, x2, lang = get_serad_language()) { if (lang == "en") { comparaison( x1, x2, hausse_defaut = "above", egalite_defaut = "at the same level as", baisse_defaut = "below", seuil = 0 ) } else { comparaison( x1, x2, hausse_defaut = "au-dessus de", egalite_defaut = "au même niveau que", baisse_defaut = "en dessous de", seuil = 0 ) } } formuler_position(104, 100) # Qualifier une tendance : # « la tendance est à la hausse ». formuler_tendance <- function( x1, x2, seuil = 0.1, lang = get_serad_language() ) { if (lang == "en") { comparaison( x1, x2, hausse_defaut = "upward", egalite_defaut = "stable", baisse_defaut = "downward", seuil = seuil ) } else { comparaison( x1, x2, hausse_defaut = "à la hausse", egalite_defaut = "stable", baisse_defaut = "à la baisse", seuil = seuil ) } } formuler_tendance(1.04, 1) # Comparer des nombres d'éléments : # « il y en a davantage ». formuler_quantite <- function(x1, x2, lang = get_serad_language()) { if (lang == "en") { comparaison( x1, x2, hausse_defaut = "more", egalite_defaut = "as many", baisse_defaut = "fewer", seuil = 0 ) } else { comparaison( x1, x2, hausse_defaut = "davantage", egalite_defaut = "autant", baisse_defaut = "moins", seuil = 0 ) } } formuler_quantite(104, 100)
Analyse un taux et retourne une formulation selon sa valeur.
comparaison_taux( g, hausse_defaut, egalite_defaut, baisse_defaut, seuil = 0.1, alt = 0, hausse_alt = hausse_defaut, egalite_alt = egalite_defaut, baisse_alt = baisse_defaut )comparaison_taux( g, hausse_defaut, egalite_defaut, baisse_defaut, seuil = 0.1, alt = 0, hausse_alt = hausse_defaut, egalite_alt = egalite_defaut, baisse_alt = baisse_defaut )
g |
Variation exprimée en pourcentage (5 signifie 5 %, 0.1 signifie 0.1 %). |
hausse_defaut |
Mot si hausse (forme par défaut). |
egalite_defaut |
Mot si égalité (forme par défaut). |
baisse_defaut |
Mot si baisse (forme par défaut). |
seuil |
Limite pour l'égalité (0.1 par défaut). |
alt |
Paramètre supplémentaire égal à 0 ou 1 (par exemple pour distinguer singulier/pluriel). |
hausse_alt |
Formulation alternative si alt = 1. |
egalite_alt |
Formulation alternative si alt = 1. |
baisse_alt |
Formulation alternative si alt = 1. |
Fonction interne utilisée par comparaison.
Une chaîne de caractères correspondant à la modalité choisie.
comparaison_taux(5, "augmente", "reste stable", "diminue") comparaison_taux(0.05, "augmente", "reste stable", "diminue") comparaison_taux(0, "as", "bs", "cs", seuil = 0, alt = 1, hausse_alt = "a", egalite_alt = "b", baisse_alt = "c")comparaison_taux(5, "augmente", "reste stable", "diminue") comparaison_taux(0.05, "augmente", "reste stable", "diminue") comparaison_taux(0, "as", "bs", "cs", seuil = 0, alt = 1, hausse_alt = "a", egalite_alt = "b", baisse_alt = "c")
Formate un niveau numérique selon les règles d'arrondi définies dans le package. Peut afficher explicitement le signe d'une variation en niveau.
format_niv( y, signe = FALSE, detail = getOption("serad")$arrondi_niv, lang = get_serad_language() )format_niv( y, signe = FALSE, detail = getOption("serad")$arrondi_niv, lang = get_serad_language() )
y |
Le niveau ou la variation à formater. |
signe |
Indicateur logique : TRUE pour afficher le signe plus des valeurs positives, FALSE sinon (par défaut). |
detail |
Précision d'arrondi. Par défaut, on utilise getOption("serad")$arrondi_niv. |
lang |
Langue de sortie : "fr" ou "en". |
Une chaîne de caractères correspondant à la valeur formatée.
format_niv(365484) # "365 500" format_niv(365484, lang = "en") # "365,500" format_niv(365484 - 300000, signe = TRUE) # "+65 500" format_niv(300000 - 365484, signe = TRUE) # "-65 500"format_niv(365484) # "365 500" format_niv(365484, lang = "en") # "365,500" format_niv(365484 - 300000, signe = TRUE) # "+65 500" format_niv(300000 - 365484, signe = TRUE) # "-65 500"
Formate une variation exprimée en points selon les règles d'arrondi et d'affichage du package.
format_pts( y, signe = TRUE, detail = getOption("serad")$arrondi_pourcent, abrev = FALSE, lang = get_serad_language() )format_pts( y, signe = TRUE, detail = getOption("serad")$arrondi_pourcent, abrev = FALSE, lang = get_serad_language() )
y |
La variation à formater. |
signe |
Indicateur logique : TRUE pour afficher le signe, FALSE pour le retirer (par défaut : TRUE). |
detail |
Nombre de chiffres après la virgule. Par défaut, on utilise getOption("serad")$arrondi_pourcent. |
abrev |
Indicateur logique : TRUE pour utiliser l'abréviation ("pt"/"pts"), FALSE pour afficher "point(s)" (par défaut : FALSE). |
lang |
Langue de sortie : "fr" ou "en". |
Le symbole "moins" peut être personnalisé via getOption("serad")$moins.
Une chaîne de caractères correspondant à la variation formatée (ex. "+5,4 points", "+5.4 points").
format_pts(5.3654, signe = FALSE) # "5,4 points" format_pts(1.3654, signe = FALSE) # "1,4 point" format_pts(5.3654, abrev = TRUE) # "+5,4 pts" format_pts(-5.3654, FALSE) # "5,4 points" format_pts(-5.3654) # "-5,4 points" format_pts(-5.3654, detail = 2) # "-5,37 points" format_pts(0.35) # "+0,4 points"format_pts(5.3654, signe = FALSE) # "5,4 points" format_pts(1.3654, signe = FALSE) # "1,4 point" format_pts(5.3654, abrev = TRUE) # "+5,4 pts" format_pts(-5.3654, FALSE) # "5,4 points" format_pts(-5.3654) # "-5,4 points" format_pts(-5.3654, detail = 2) # "-5,37 points" format_pts(0.35) # "+0,4 points"
Formate une variation exprimée en pourcentage selon les règles d'arrondi et d'affichage du package.
format_taux( y, signe = TRUE, detail = getOption("serad")$arrondi_pourcent, lang = get_serad_language() )format_taux( y, signe = TRUE, detail = getOption("serad")$arrondi_pourcent, lang = get_serad_language() )
y |
La variation à formater. |
signe |
Indicateur logique : TRUE pour afficher le signe, FALSE pour le retirer (par défaut : TRUE). |
detail |
Nombre de chiffres après la virgule. Par défaut, on utilise getOption("serad")$arrondi_pourcent. |
lang |
Langue de sortie : "fr" ou "en". |
Le symbole "moins" peut être personnalisé via getOption("serad")$moins.
Une chaîne de caractères correspondant à la variation formatée (ex. "+5,4%", "-5,4%", "+5.4%").
format_taux(5.3654, signe = FALSE) # "5,4 %" format_taux(5.3654) # "+5,4 %" format_taux(-5.3654, FALSE) # "5,4 %" format_taux(-5.3654) # "-5,4 %" format_taux(-5.3654, detail = 2) # "-5,37 %" format_taux(0.35) # "+0,4 %" format_taux(5.3654, lang = "en") # "+5.4%"format_taux(5.3654, signe = FALSE) # "5,4 %" format_taux(5.3654) # "+5,4 %" format_taux(-5.3654, FALSE) # "5,4 %" format_taux(-5.3654) # "-5,4 %" format_taux(-5.3654, detail = 2) # "-5,37 %" format_taux(0.35) # "+0,4 %" format_taux(5.3654, lang = "en") # "+5.4%"
Calcule la variation relative entre x1 et x2,
exprimée en pourcentage.
g(x1, x2, eps = 1e-08)g(x1, x2, eps = 1e-08)
x1 |
Niveau le plus récent. |
x2 |
Niveau le plus ancien. |
eps |
Valeur utilisée à la place de |
Si x2 = 0, la valeur epsilon définie par
getOption("serad")$eps est utilisée afin d'éviter une division
par zéro. Un message d'avertissement est émis dans ce cas.
Il est possible de modifier cette valeur :
serad0 <- getOption("serad")
serad0$eps <- 0
options(serad = serad0)
Une valeur numérique correspondant à la variation en pourcentage (par exemple, si x1 = 2 * x2, la fonction retourne 100).
g(2, 1) # 100 g(2, 0) # valeur très élevée et avertissementg(2, 1) # 100 g(2, 0) # valeur très élevée et avertissement
Décrit une évolution sous forme nominale à partir de deux niveaux, sans ajouter la valeur de variation.
g_nom( x1, x2, evolution = c("pourcents", "points"), avec_evolution = FALSE, titre = FALSE, lang = get_serad_language() )g_nom( x1, x2, evolution = c("pourcents", "points"), avec_evolution = FALSE, titre = FALSE, lang = get_serad_language() )
x1 |
Le niveau le plus récent. |
x2 |
Le niveau le plus ancien. |
evolution |
Type d'évolution :
|
avec_evolution |
Indicateur logique : |
titre |
Indicateur logique : TRUE pour supprimer l'article initial et mettre une majuscule, notamment en début de titre. |
lang |
Langue de sortie : "fr" ou "en". |
La fonction calcule d'abord une évolution à partir de x1
et x2 :
si evolution = "pourcents", elle utilise
g ;
si evolution = "points", elle calcule x1 - x2.
La valeur obtenue est ensuite transmise à g_nom_evo,
qui détermine la formulation à partir des conditions définies dans la table
getOption("serad")$evo_simple.
Une chaîne de caractères correspondant à la formulation nominale retenue (par exemple : "une forte hausse").
Les formulations utilisées par cette fonction proviennent de la table
getOption("serad")$evo_simple.
Cette table doit notamment contenir une colonne condition et une colonne
nom. Les conditions doivent être disjointes, c'est-à-dire qu'une seule
condition doit être vraie pour une valeur donnée.
Pour modifier les conditions ou les libellés, voir
init_serad.
g_nom(1.04, 1) g_nom(1.01, 1) g_nom(1.004, 1) g_nom(1.001, 1) g_nom(1, 1) g_nom(0.997, 1) g_nom(0.95, 1) g_nom(0.95, 1, evolution = "points")g_nom(1.04, 1) g_nom(1.01, 1) g_nom(1.004, 1) g_nom(1.001, 1) g_nom(1, 1) g_nom(0.997, 1) g_nom(0.95, 1) g_nom(0.95, 1, evolution = "points")
Décrit une évolution sous forme nominale, avec ou sans la valeur de l'évolution.
g_nom_evo( g, evolution = c("pourcents", "points"), avec_evolution = FALSE, titre = FALSE, lang = get_serad_language() )g_nom_evo( g, evolution = c("pourcents", "points"), avec_evolution = FALSE, titre = FALSE, lang = get_serad_language() )
g |
Valeur de l'évolution. |
evolution |
Type d'évolution :
|
avec_evolution |
Indicateur logique : |
titre |
Indicateur logique : |
lang |
Langue de sortie : |
La fonction sélectionne, dans la table
getOption("serad")$evo_simple, la ligne dont la condition est vérifiée
par la valeur de g.
La table evo_simple doit contenir une colonne condition, composée de
chaînes de caractères évaluables par R, par exemple :
"g >= -0.10 & g <= 0.10".
Les conditions doivent être disjointes : pour une valeur donnée de g,
une seule condition doit être vraie.
La fonction renvoie ensuite la colonne nom correspondante.
Si titre = TRUE, l'article initial est supprimé et la première lettre
restante est mise en majuscule.
Si avec_evolution = TRUE, la valeur absolue de g est ajoutée à la
formulation avec l'unité correspondant à evolution. La valeur absolue
est utilisée car le sens de l'évolution est déjà exprimé par le nom :
par exemple, "une baisse de 4 %" et non "une baisse de -4 %".
Une chaîne de caractères décrivant l'évolution, avec ou sans sa valeur
(par exemple : "une forte hausse", "une forte hausse de 4 %" ou
"une forte hausse de 2 points").
Les formulations utilisées par cette fonction proviennent de la table
getOption("serad")$evo_simple.
Pour modifier les conditions ou les libellés, voir
init_serad.
g_nom,
g_verbe_evo,
pluriel,
init_serad
g_nom_evo(4) g_nom_evo(4, avec_evolution = TRUE) g_nom_evo(1.5, evolution = "points") g_nom_evo(1.5, evolution = "points", avec_evolution = TRUE) g_nom_evo(-2, evolution = "points", avec_evolution = TRUE) g_nom_evo(4, avec_evolution = TRUE, titre = TRUE) g_nom_evo(4, avec_evolution = TRUE, lang = "en")g_nom_evo(4) g_nom_evo(4, avec_evolution = TRUE) g_nom_evo(1.5, evolution = "points") g_nom_evo(1.5, evolution = "points", avec_evolution = TRUE) g_nom_evo(-2, evolution = "points", avec_evolution = TRUE) g_nom_evo(4, avec_evolution = TRUE, titre = TRUE) g_nom_evo(4, avec_evolution = TRUE, lang = "en")
Décrit une évolution sous forme verbale à partir de deux niveaux, sans tenir compte d'une éventuelle accélération, avec ou sans la valeur de variation.
g_verbe( x1, x2, sing = TRUE, evolution = c("pourcents", "points"), avec_evolution = TRUE, stable_sans_valeur = TRUE, lang = get_serad_language() )g_verbe( x1, x2, sing = TRUE, evolution = c("pourcents", "points"), avec_evolution = TRUE, stable_sans_valeur = TRUE, lang = get_serad_language() )
x1 |
Le niveau le plus récent. |
x2 |
Le niveau le plus ancien. |
sing |
Indicateur logique : |
evolution |
Type d'évolution :
|
avec_evolution |
Indicateur logique : |
stable_sans_valeur |
Indicateur logique : |
lang |
Langue de sortie : |
La fonction calcule d'abord une évolution à partir de x1
et x2 :
si evolution = "pourcents", elle utilise
g ;
si evolution = "points", elle calcule x1 - x2.
La valeur obtenue est ensuite transmise à
g_verbe_evo, qui détermine la formulation à partir
des conditions définies dans la table
getOption("serad")$evo_simple.
Cette table doit notamment contenir les colonnes condition,
verbe_sing et verbe_plur.
Les conditions doivent être disjointes : pour une valeur donnée, une seule condition doit être vraie.
Une chaîne de caractères correspondant à la formulation verbale
retenue, avec ou sans la valeur de l'évolution, par exemple :
"augmente" ou "augmente de 10,0 %".
Les formulations utilisées par cette fonction proviennent de la table
getOption("serad")$evo_simple.
Pour modifier les conditions ou les libellés, voir
init_serad.
g_verbe(1.1, 1) g_verbe(1.1, 1, avec_evolution = TRUE) g_verbe(1.04, 1) g_verbe(1.01, 1, sing = FALSE) g_verbe(0.999, 1) g_verbe( 0.999, 1, avec_evolution = TRUE, stable_sans_valeur = FALSE ) g_verbe(0.96, 1) g_verbe(0.79, 1) g_verbe( 12, 10, evolution = "points", avec_evolution = TRUE )g_verbe(1.1, 1) g_verbe(1.1, 1, avec_evolution = TRUE) g_verbe(1.04, 1) g_verbe(1.01, 1, sing = FALSE) g_verbe(0.999, 1) g_verbe( 0.999, 1, avec_evolution = TRUE, stable_sans_valeur = FALSE ) g_verbe(0.96, 1) g_verbe(0.79, 1) g_verbe( 12, 10, evolution = "points", avec_evolution = TRUE )
Décrit une évolution sous forme verbale, sans tenir compte d'une éventuelle accélération, avec ou sans la valeur formatée.
g_verbe_evo( g, sing = TRUE, evolution = c("pourcents", "points"), avec_evolution = TRUE, stable_sans_valeur = TRUE, lang = get_serad_language() )g_verbe_evo( g, sing = TRUE, evolution = c("pourcents", "points"), avec_evolution = TRUE, stable_sans_valeur = TRUE, lang = get_serad_language() )
g |
Valeur de l'évolution. |
sing |
Indicateur logique : |
evolution |
Type d'évolution :
|
avec_evolution |
Indicateur logique : |
stable_sans_valeur |
Indicateur logique : |
lang |
Langue de sortie : |
La fonction sélectionne, dans la table
getOption("serad")$evo_simple, la ligne dont la condition est vérifiée
par la valeur de g.
La table evo_simple doit contenir une colonne condition, composée de
chaînes de caractères évaluables par R, par exemple :
"g >= -0.10 & g <= 0.10".
Les conditions doivent être disjointes : pour une valeur donnée de g,
une seule condition doit être vraie.
Si sing = TRUE, la fonction utilise la colonne verbe_sing.
Sinon, elle utilise la colonne verbe_plur.
Si avec_evolution = FALSE, la préposition placée à la fin de la
formulation verbale ("de", "à", "by" ou "at") est supprimée.
Si avec_evolution = TRUE, la valeur est formatée avec
format_taux lorsque evolution = "pourcents" et avec
format_pts lorsque evolution = "points".
Lorsqu'une évolution appartient à la catégorie de stabilité et que
stable_sans_valeur = TRUE, seule la formulation verbale est retournée.
Une chaîne de caractères décrivant l'évolution, avec ou sans sa valeur.
Les formulations utilisées par cette fonction proviennent de la table
getOption("serad")$evo_simple.
Pour modifier les conditions ou les libellés, voir
init_serad.
g_verbe,
g_nom_evo,
format_taux,
format_pts,
init_serad
g_verbe_evo(10) g_verbe_evo(10, avec_evolution = FALSE) g_verbe_evo(2, evolution = "points") g_verbe_evo(2, evolution = "points", avec_evolution = FALSE) g_verbe_evo(0.1) g_verbe_evo(-0.1) g_verbe_evo(-0.1, stable_sans_valeur = FALSE) g_verbe_evo(10, sing = FALSE) g_verbe_evo(10, lang = "en")g_verbe_evo(10) g_verbe_evo(10, avec_evolution = FALSE) g_verbe_evo(2, evolution = "points") g_verbe_evo(2, evolution = "points", avec_evolution = FALSE) g_verbe_evo(0.1) g_verbe_evo(-0.1) g_verbe_evo(-0.1, stable_sans_valeur = FALSE) g_verbe_evo(10, sing = FALSE) g_verbe_evo(10, lang = "en")
Retourne la langue actuellement utilisée par {serad}.
get_serad_language()get_serad_language()
Une chaîne de caractères indiquant la langue courante ("fr" ou "en").
Décrit l'évolution sous forme nominale à partir de trois niveaux, en tenant compte de l'accélération entre deux variations successives.
gETa_nom(x1, x2, x3, titre = FALSE, alea = 0, lang = get_serad_language())gETa_nom(x1, x2, x3, titre = FALSE, alea = 0, lang = get_serad_language())
x1 |
Niveau le plus récent. |
x2 |
Niveau précédent. |
x3 |
Niveau le plus ancien. |
titre |
Indicateur logique : TRUE pour supprimer l'article initial et mettre une majuscule, notamment en début de titre. |
alea |
Paramètre numérique compris entre 0 et 1 contrôlant
l'utilisation de formulations alternatives. Si |
lang |
Langue de sortie : "fr" ou "en". |
La fonction calcule d'abord deux évolutions successives :
g1 <- serad::g(x1, x2) et g2 <- serad::g(x2, x3).
Ces deux variations sont ensuite transmises à
gETa_nom_taux, qui calcule leur accélération à l'aide
de a et détermine la formulation nominale appropriée
à partir de la table getOption("serad")$evo_accel.
Une formulation alternative peut être utilisée via la table
getOption("serad")$evo_accel_alt. Le choix entre la
formulation principale et la variante dépend du paramètre alea.
Une chaîne de caractères correspondant à la formulation nominale retenue.
Les formulations utilisées par cette fonction proviennent des tables
getOption("serad")$evo_accel et
getOption("serad")$evo_accel_alt.
Pour modifier les seuils, les conditions ou les libellés, voir
init_serad.
gETa_nom_taux,
g,
a,
init_serad
gETa_nom(1.00049, 1, 0.9996) gETa_nom(1.1, 1, 0.99) gETa_nom(1.003, 1, 0.99) gETa_nom(0.96, 1, 1.01) gETa_nom(0.8, 1, 0.99) gETa_nom(1.1, 1, 0.99, alea = 0.5)gETa_nom(1.00049, 1, 0.9996) gETa_nom(1.1, 1, 0.99) gETa_nom(1.003, 1, 0.99) gETa_nom(0.96, 1, 1.01) gETa_nom(0.8, 1, 0.99) gETa_nom(1.1, 1, 0.99, alea = 0.5)
Décrit l'évolution sous forme nominale en tenant compte de l'accélération entre deux variations successives.
gETa_nom_taux(g1, g2, titre = FALSE, alea = 0, lang = get_serad_language())gETa_nom_taux(g1, g2, titre = FALSE, alea = 0, lang = get_serad_language())
g1 |
Dernière évolution, exprimée en pourcentage. |
g2 |
Évolution précédente, exprimée en pourcentage. |
titre |
Indicateur logique : TRUE pour supprimer l'article initial et mettre une majuscule, notamment en début de titre. |
alea |
Paramètre numérique compris entre 0 et 1 contrôlant
l'utilisation de formulations alternatives. Si |
lang |
Langue de sortie : "fr" ou "en". |
La fonction calcule d'abord l'accélération entre g1
et g2 à l'aide de a.
Elle parcourt ensuite la table getOption("serad")$evo_accel
ligne par ligne. Chaque ligne contient un ensemble de conditions
sur g1, g2 et l'accélération. La première ligne dont
toutes les conditions sont vérifiées détermine la formulation
retenue.
Une formulation alternative peut être utilisée via la table
getOption("serad")$evo_accel_alt, qui contient une variante
pour chaque ligne de evo_accel. Le choix entre la formulation
principale et la variante dépend du paramètre alea.
Si titre = TRUE, l'article initial est supprimé et la
première lettre restante est mise en majuscule.
Une chaîne de caractères correspondant à la formulation nominale retenue (par exemple : "une accélération", "une stabilisation").
Les formulations utilisées par cette fonction proviennent des tables
getOption("serad")$evo_accel et
getOption("serad")$evo_accel_alt.
Pour modifier les seuils, les conditions ou les libellés, voir
init_serad.
a,
gETa_verbe_taux,
init_serad
gETa_nom_taux(0.049, 0.049) gETa_nom_taux(10, 1) gETa_nom_taux(-4, 1, titre = TRUE) gETa_nom_taux(-21, 1) gETa_nom_taux(10, 1, alea = 0.5)gETa_nom_taux(0.049, 0.049) gETa_nom_taux(10, 1) gETa_nom_taux(-4, 1, titre = TRUE) gETa_nom_taux(-21, 1) gETa_nom_taux(10, 1, alea = 0.5)
Décrit l'évolution sous forme verbale à partir de trois niveaux, en tenant compte de l'accélération entre deux variations successives.
gETa_verbe(x1, x2, x3, sing = TRUE, alea = 0, lang = get_serad_language())gETa_verbe(x1, x2, x3, sing = TRUE, alea = 0, lang = get_serad_language())
x1 |
Niveau le plus récent. |
x2 |
Niveau précédent. |
x3 |
Niveau le plus ancien. |
sing |
Indicateur logique : TRUE si le sujet est singulier (par défaut), FALSE sinon. |
alea |
Paramètre numérique compris entre 0 et 1 contrôlant
l'utilisation de formulations alternatives. Si |
lang |
Langue de sortie : "fr" ou "en". |
La fonction calcule d'abord deux évolutions successives :
g1 <- serad::g(x1, x2) et g2 <- serad::g(x2, x3).
Ces deux variations sont ensuite transmises à
gETa_verbe_taux, qui calcule leur accélération à l'aide
de g et détermine la formulation verbale appropriée
à partir de la table getOption("serad")$evo_accel.
Une formulation alternative peut être utilisée via la table
getOption("serad")$evo_accel_alt. Le choix entre la formulation
principale et la variante dépend du paramètre alea.
Une chaîne de caractères correspondant à la formulation verbale retenue.
Les formulations utilisées par cette fonction proviennent des tables
getOption("serad")$evo_accel et
getOption("serad")$evo_accel_alt.
Pour modifier les seuils, les conditions ou les libellés, voir
init_serad.
gETa_verbe_taux,
g,
init_serad
gETa_verbe(1.00049, 1, 0.9996) gETa_verbe(1.1, 1, 0.99) gETa_verbe(1.003, 1, 0.99, sing = FALSE) gETa_verbe(0.96, 1, 1.01) gETa_verbe(1.1, 1, 0.99, alea = 0.5)gETa_verbe(1.00049, 1, 0.9996) gETa_verbe(1.1, 1, 0.99) gETa_verbe(1.003, 1, 0.99, sing = FALSE) gETa_verbe(0.96, 1, 1.01) gETa_verbe(1.1, 1, 0.99, alea = 0.5)
Décrit l'évolution sous forme verbale en tenant compte de l'accélération entre deux variations successives.
gETa_verbe_taux(g1, g2, sing = TRUE, alea = 0, lang = get_serad_language())gETa_verbe_taux(g1, g2, sing = TRUE, alea = 0, lang = get_serad_language())
g1 |
Dernière évolution, exprimée en pourcentage. |
g2 |
Évolution précédente, exprimée en pourcentage. |
sing |
Indicateur logique : TRUE si le sujet est singulier (par défaut), FALSE sinon. |
alea |
Nombre réel compris entre 0 et 1 contrôlant
l'utilisation de formulations alternatives. Si |
lang |
Langue de sortie : "fr" ou "en". |
La fonction calcule d'abord l'accélération entre g1
et g2 à l'aide de a.
Elle parcourt ensuite la table getOption("serad")$evo_accel
ligne par ligne. Chaque ligne contient un ensemble de conditions
sur g1, g2 et l'accélération. La première ligne pour laquelle
toutes les conditions sont vérifiées détermine la formulation
retenue.
Une formulation alternative peut être utilisée via la table
getOption("serad")$evo_accel_alt. Le choix entre la
formulation principale et la variante dépend du paramètre alea.
Si sing = TRUE, la fonction renvoie la colonne verbe_sing.
Sinon, elle renvoie verbe_plur.
Une chaîne de caractères correspondant à la formulation verbale retenue (par exemple : "accélère", "se stabilise").
Les formulations utilisées par cette fonction proviennent des tables
getOption("serad")$evo_accel et
getOption("serad")$evo_accel_alt.
Pour modifier les seuils, les conditions ou les libellés, voir
init_serad.
gETa_verbe_taux(0.049, 0.049) gETa_verbe_taux(10, 1) gETa_verbe_taux(4, 1, FALSE) gETa_verbe_taux(-4, 1) gETa_verbe_taux(-21, 1) gETa_verbe_taux(10, 1, alea = 0.5)gETa_verbe_taux(0.049, 0.049) gETa_verbe_taux(10, 1) gETa_verbe_taux(4, 1, FALSE) gETa_verbe_taux(-4, 1) gETa_verbe_taux(-21, 1) gETa_verbe_taux(10, 1, alea = 0.5)
Les fonctions init_serad_fr() et init_serad_en() appliquent
les règles de rédaction par défaut de {serad}, respectivement
en français et en anglais.
Elles initialisent notamment :
les règles d'arrondi ;
le symbole de signe négatif ;
les seuils d'évolution ;
les tables de correspondance entre évolutions et formulations ;
les règles de gestion de l'accélération.
init_serad_en() init_serad_fr()init_serad_en() init_serad_fr()
Les règles sont enregistrées dans l'option serad et peuvent
être consultées avec getOption("serad").
Les principales structures utilisées sont :
evo_simple : utilisée pour les évolutions simples
(g_nom_evo, g_verbe_evo) ;
seuil : seuils utilisés pour les évolutions tenant compte
de l'accélération ;
evo_accel : formulations utilisées pour les évolutions
tenant compte de l'accélération
(gETa_nom_taux, gETa_verbe_taux) ;
evo_accel_alt : variantes utilisées lorsque l'argument
alea est activé.
La liste des règles appliquées, renvoyée de manière invisible.
Les fonctions enregistrent également cette liste dans l'option serad.
Le package fournit deux scripts modèles commentés :
config_serad_fr.R et config_serad_en.R.
Pour personnaliser les règles, copier le modèle de la langue souhaitée dans son projet :
file.copy(
system.file("modeles", "config_serad_fr.R", package = "serad"),
"config_serad_perso.R"
)
Cette copie est réalisée une seule fois. Pour utiliser le modèle
anglais, remplacer config_serad_fr.R par config_serad_en.R.
Modifier ensuite les arrondis, les seuils, les conditions ou les formulations dans le fichier copié, puis le charger au début du programme :
library(serad)
source("config_serad_perso.R")
Le script applique directement les règles personnalisées avec
options(serad = serad0). Aucun appel supplémentaire à une
fonction d'initialisation n'est nécessaire.
Le fichier personnalisé peut être conservé et versionné avec le programme de production.
Un appel ultérieur à init_serad_fr() ou init_serad_en()
remplace les règles personnalisées par les règles par défaut
de la langue choisie.
g_nom_evo,
g_verbe_evo,
gETa_nom_taux,
gETa_verbe_taux
Formate un mois ou un trimestre, éventuellement décalé dans le temps, en français ou en anglais.
libelle_periode( numero, annee, periode = c("mois", "trimestre"), decalage = 0L, format = c("lettres", "chiffres"), avec_annee = TRUE, lang = get_serad_language() )libelle_periode( numero, annee, periode = c("mois", "trimestre"), decalage = 0L, format = c("lettres", "chiffres"), avec_annee = TRUE, lang = get_serad_language() )
numero |
Numéro du mois (1 à 12) ou du trimestre (1 à 4). |
annee |
Année de la période. |
periode |
Type de période : |
decalage |
Nombre de périodes à ajouter. Une valeur positive avance dans le temps et une valeur négative permet de revenir en arrière. |
format |
Format du libellé : |
avec_annee |
Indicateur logique : |
lang |
Langue de sortie : |
Une chaîne de caractères représentant la période demandée.
libelle_periode(8, 2026, periode = "mois") libelle_periode(8, 2026, periode = "mois", decalage = 23) libelle_periode(4, 2026, periode = "trimestre") libelle_periode( 4, 2026, periode = "trimestre", decalage = 1, format = "chiffres" ) libelle_periode( 1, 2026, periode = "trimestre", avec_annee = FALSE, lang = "en" )libelle_periode(8, 2026, periode = "mois") libelle_periode(8, 2026, periode = "mois", decalage = 23) libelle_periode(4, 2026, periode = "trimestre") libelle_periode( 4, 2026, periode = "trimestre", decalage = 1, format = "chiffres" ) libelle_periode( 1, 2026, periode = "trimestre", avec_annee = FALSE, lang = "en" )
Retourne une forme singulière ou plurielle selon une valeur numérique et la langue.
pluriel(x, sing = "", plur = "s", lang = get_serad_language())pluriel(x, sing = "", plur = "s", lang = get_serad_language())
x |
Valeur numérique. |
sing |
Forme utilisée au singulier. Par défaut : chaîne vide. |
plur |
Forme utilisée au pluriel. Par défaut : |
lang |
Langue de sortie : |
En français, le pluriel s'applique à partir de 2. En anglais, seul 1 (ou -1) est au singulier.
Une chaîne de caractères correspondant à la forme correctement accordée.
Renvoie NA_character_ lorsque x vaut NA.
pluriel(-7.5) pluriel(-2) pluriel(1.4, "chat parle", "chats parlent") pluriel(-2, "chat parle", "chats parlent") pluriel(1.97) pluriel(1.5, "point", "points", lang = "fr") pluriel(1.5, "point", "points", lang = "en")pluriel(-7.5) pluriel(-2) pluriel(1.4, "chat parle", "chats parlent") pluriel(-2, "chat parle", "chats parlent") pluriel(1.97) pluriel(1.5, "point", "points", lang = "fr") pluriel(1.5, "point", "points", lang = "en")
Modifie la langue utilisée par {serad} et réinitialise les règles de rédaction associées.
set_serad_language(lang = c("fr", "en"))set_serad_language(lang = c("fr", "en"))
lang |
Langue de sortie : "fr" ou "en". |
NULL invisiblement.