| Title: | Standardized Economic Reporting and Automated Dynamic Writing / Synthèse d'Écrits Avec des Règles Automatisées et Dynamiques |
| Version: | 0.2.5 |
| 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. |
| License: | MIT + file LICENSE |
| Encoding: | UTF-8 |
| RoxygenNote: | 7.3.3 |
| Imports: | tibble |
| Suggests: | knitr, rmarkdown, testthat (≥ 3.0.0) |
| VignetteBuilder: | knitr |
| Config/testthat/edition: | 3 |
| NeedsCompilation: | no |
| Packaged: | 2026-09-29 15:18:16 UTC; X6QOAN |
| Author: | Alexandre Cazenave-Lacroutz
|
| Maintainer: | Jules Lejas <jules.lejas@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-09-30 21:30:13 UTC |
Calcul d'une accélération
Description
Calcule l'accélération entre trois niveaux successifs en comparant les taux de variation consécutifs.
Usage
a(x1, x2, x3)
Arguments
x1 |
Niveau le plus récent. |
x2 |
Niveau précédent. |
x3 |
Niveau le plus ancien. |
Details
L'accélération correspond à la variation du taux entre
(x1, x2) et (x2, x3).
Value
Un nombre numérique correspondant à l'accélération en pourcentage.
See Also
Examples
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éro
Arrondi arithmétique
Description
Arrondit un nombre selon la règle arithmétique (0.5 vers le haut),
contrairement à round() qui utilise l'arrondi bancaire.
Usage
arrondi_tot(x, digits = 1)
Arguments
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. |
Value
Un nombre numérique arrondi.
See Also
Examples
arrondi_tot(1877.85, digits = 0) # 1878
arrondi_tot(1877.85, digits = 1) # 1877.9
arrondi_tot(1877.85, digits = -1) # 1880
Comparaison qualitative entre deux niveaux
Description
Compare deux niveaux successifs et retourne une formulation selon l'évolution observée.
Usage
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
)
Arguments
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. |
Details
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.
Value
Une chaîne de caractères correspondant à la formulation retenue.
See Also
Examples
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 d'une variation à un seuil
Description
Analyse un taux et retourne une formulation selon sa valeur.
Usage
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
)
Arguments
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. |
Details
Fonction interne utilisée par comparaison.
Value
Une chaîne de caractères correspondant à la modalité choisie.
See Also
Examples
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")
Formatage des niveaux en nombres
Description
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.
Usage
format_niv(
y,
signe = FALSE,
detail = getOption("serad")$arrondi_niv,
lang = get_serad_language()
)
Arguments
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". |
Value
Une chaîne de caractères correspondant à la valeur formatée.
See Also
Examples
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"
Formatage des variations en points
Description
Formate une variation exprimée en points selon les règles d'arrondi et d'affichage du package.
Usage
format_pts(
y,
signe = TRUE,
detail = getOption("serad")$arrondi_pourcent,
abrev = FALSE,
lang = get_serad_language()
)
Arguments
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". |
Details
Le symbole "moins" peut être personnalisé via getOption("serad")$moins.
Value
Une chaîne de caractères correspondant à la variation formatée (ex. "+5,4 points", "+5.4 points").
See Also
Examples
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"
Formatage des variations en pourcentage
Description
Formate une variation exprimée en pourcentage selon les règles d'arrondi et d'affichage du package.
Usage
format_taux(
y,
signe = TRUE,
detail = getOption("serad")$arrondi_pourcent,
lang = get_serad_language()
)
Arguments
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". |
Details
Le symbole "moins" peut être personnalisé via getOption("serad")$moins.
Value
Une chaîne de caractères correspondant à la variation formatée (ex. "+5,4%", "-5,4%", "+5.4%").
See Also
Examples
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%"
Calcul d'une variation relative
Description
Calcule la variation relative entre x1 et x2,
exprimée en pourcentage.
Usage
g(x1, x2, eps = 1e-08)
Arguments
x1 |
Niveau le plus récent. |
x2 |
Niveau le plus ancien. |
eps |
Valeur utilisée à la place de |
Details
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)
Value
Une valeur numérique correspondant à la variation en pourcentage (par exemple, si x1 = 2 * x2, la fonction retourne 100).
See Also
Examples
g(2, 1) # 100
g(2, 0) # valeur très élevée et avertissement
Évolution nominale tenant compte de l'accélération
Description
Décrit l'évolution sous forme nominale à partir de trois niveaux, en tenant compte de l'accélération entre deux variations successives.
Usage
gETa_nom(x1, x2, x3, titre = FALSE, alea = 0, lang = get_serad_language())
Arguments
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". |
Details
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.
Value
Une chaîne de caractères correspondant à la formulation nominale retenue.
Personnalisation
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.
See Also
gETa_nom_taux,
g,
a,
init_serad
Examples
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)
Évolution nominale tenant compte de l'accélération
Description
Décrit l'évolution sous forme nominale en tenant compte de l'accélération entre deux variations successives.
Usage
gETa_nom_taux(g1, g2, titre = FALSE, alea = 0, lang = get_serad_language())
Arguments
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". |
Details
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.
Value
Une chaîne de caractères correspondant à la formulation nominale retenue (par exemple : "une accélération", "une stabilisation").
Personnalisation
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.
See Also
a,
gETa_verbe_taux,
init_serad
Examples
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)
Évolution verbale tenant compte de l'accélération
Description
Décrit l'évolution sous forme verbale à partir de trois niveaux, en tenant compte de l'accélération entre deux variations successives.
Usage
gETa_verbe(x1, x2, x3, sing = TRUE, alea = 0, lang = get_serad_language())
Arguments
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". |
Details
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.
Value
Une chaîne de caractères correspondant à la formulation verbale retenue.
Personnalisation
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.
See Also
gETa_verbe_taux,
g,
init_serad
Examples
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)
Évolution verbale tenant compte de l'accélération
Description
Décrit l'évolution sous forme verbale en tenant compte de l'accélération entre deux variations successives.
Usage
gETa_verbe_taux(g1, g2, sing = TRUE, alea = 0, lang = get_serad_language())
Arguments
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". |
Details
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.
Value
Une chaîne de caractères correspondant à la formulation verbale retenue (par exemple : "accélère", "se stabilise").
Personnalisation
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.
See Also
Examples
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)
Évolution nominale non suivie d'une valeur
Description
Décrit une évolution sous forme nominale à partir de deux niveaux, sans ajouter la valeur de variation.
Usage
g_nom(
x1,
x2,
evolution = c("pourcents", "points"),
avec_evolution = FALSE,
titre = FALSE,
lang = get_serad_language()
)
Arguments
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". |
Details
La fonction calcule d'abord une évolution à partir de x1
et x2 :
si
evolution = "pourcents", elle utiliseg;si
evolution = "points", elle calculex1 - 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.
Value
Une chaîne de caractères correspondant à la formulation nominale retenue (par exemple : "une forte hausse").
Personnalisation
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.
See Also
Examples
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")
Évolution nominale
Description
Décrit une évolution sous forme nominale, avec ou sans la valeur de l'évolution.
Usage
g_nom_evo(
g,
evolution = c("pourcents", "points"),
avec_evolution = FALSE,
titre = FALSE,
lang = get_serad_language()
)
Arguments
g |
Valeur de l'évolution. |
evolution |
Type d'évolution :
|
avec_evolution |
Indicateur logique : |
titre |
Indicateur logique : |
lang |
Langue de sortie : |
Details
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 %".
Value
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").
Personnalisation
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.
See Also
g_nom,
g_verbe_evo,
pluriel,
init_serad
Examples
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")
Évolution verbale
Description
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.
Usage
g_verbe(
x1,
x2,
sing = TRUE,
evolution = c("pourcents", "points"),
avec_evolution = TRUE,
stable_sans_valeur = TRUE,
lang = get_serad_language()
)
Arguments
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 : |
Details
La fonction calcule d'abord une évolution à partir de x1
et x2 :
si
evolution = "pourcents", elle utiliseg;si
evolution = "points", elle calculex1 - 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.
Value
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 %".
Personnalisation
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.
See Also
Examples
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
)
Évolution verbale d'un taux
Description
Décrit une évolution sous forme verbale, sans tenir compte d'une éventuelle accélération, avec ou sans la valeur formatée.
Usage
g_verbe_evo(
g,
sing = TRUE,
evolution = c("pourcents", "points"),
avec_evolution = TRUE,
stable_sans_valeur = TRUE,
lang = get_serad_language()
)
Arguments
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 : |
Details
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.
Value
Une chaîne de caractères décrivant l'évolution, avec ou sans sa valeur.
Personnalisation
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.
See Also
g_verbe,
g_nom_evo,
format_taux,
format_pts,
init_serad
Examples
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")
Récupère la langue de serad
Description
Retourne la langue actuellement utilisée par {serad}.
Usage
get_serad_language()
Value
Une chaîne de caractères indiquant la langue courante ("fr" ou "en").
Initialisation des règles de rédaction de {serad}
Description
Les fonctions init_serad_fr() et init_serad_en() définissent
l'ensemble des règles utilisées par {serad} pour produire des textes
de conjoncture.
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.
Usage
init_serad_en()
init_serad_fr()
Details
Les principales structures utilisées sont :
-
evo_simple: utilisée pour les évolutions simples (g_nom_evo,g_verbe_evo) ; -
evo_accel: utilisée pour les évolutions tenant compte de l'accélération (gETa_nom_taux,gETa_verbe_taux) ; -
evo_accel_alt: variantes utilisées lorsque l'argumentaleaest activé.
Value
Pas de valeur de retour, appelée pour ses effets de bord.
Personnalisation
La méthode recommandée pour personnaliser les règles de rédaction
consiste à copier le contenu de init_serad_fr() ou
init_serad_en() dans un script utilisateur, puis à modifier
directement les tables et les seuils.
Exemple :
# Copier le contenu de init_serad_fr() serad0 <- list() serad0$evo_simple <- tibble::tribble( ~seuil, ~verbe_sing, ~verbe_plur, ~nom, 1, "augmente", "augmentent", "une hausse", 0, "est stable", "sont stables", "une stabilité", -Inf, "diminue", "diminuent", "une baisse" ) options(serad = serad0)
Cette approche permet :
une personnalisation complète des formulations ;
une adaptation aux conventions métier ;
une reproductibilité via un script versionné.
See Also
g_nom_evo,
g_verbe_evo,
gETa_nom_taux,
gETa_verbe_taux
Produit le libellé d'une période
Description
Formate un mois ou un trimestre, éventuellement décalé dans le temps, en français ou en anglais.
Usage
libelle_periode(
numero,
annee,
periode = c("mois", "trimestre"),
decalage = 0L,
format = c("lettres", "chiffres"),
avec_annee = TRUE,
lang = get_serad_language()
)
Arguments
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 : |
Value
Une chaîne de caractères représentant la période demandée.
Examples
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"
)
Accord au pluriel
Description
Retourne une forme singulière ou plurielle selon une valeur numérique et la langue.
Usage
pluriel(x, sing = "", plur = "s", lang = get_serad_language())
Arguments
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 : |
Details
En français, le pluriel s'applique à partir de 2. En anglais, seul 1 (ou -1) est au singulier.
Value
Une chaîne de caractères correspondant à la forme correctement accordée.
Renvoie NA_character_ lorsque x vaut NA.
Examples
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")
Définit la langue de serad
Description
Modifie la langue utilisée par {serad} et réinitialise les règles de rédaction associées.
Usage
set_serad_language(lang = c("fr", "en"))
Arguments
lang |
Langue de sortie : "fr" ou "en". |
Value
NULL invisiblement.