Date : 2026-03-10
Changement dans la manière de filtrer les données, permettant un gain de rapidité de ~30% dans la plupart des fonctions lors de l’usage de poids répliqués.
La fonction many_val_group() peut désormais être
parallélisée, permettant un gain de rapidité de ~30% avec des poids
répliqués lorsque les calculs sont nombreux. Le gain est plus petit -
voire négatif - lorsque les calculs sont peu importants. C’est la raison
pour laquelle l’option est désactivée par défaut si l’estimation de la
variance d’échantillonnage n’est pas réalisée à l’aide de poids
répliqués.
Changement des palettes par défaut des différentes fonctions, car
MetBrewer et PrettyCols sont désormais définis comme des packages
optionnels (ils ne sont pas automatiquement installés avec fonctionr,
sauf si dependencies = TRUE est indiqué lors de
l’installation).
Date : 2026-01-27
Ajout de la possibilité de définir des options globales grâce à
la fonction fonctionr_options().
Nouveaux arguments pour les palettes et les couleurs.
Séparation de la couleur unie et de la palette dans les arguments
col (nouveau) et pal. Cette modification
engendre une différence de comportement par rapport aux versions
antérieures de fonctionr : la couleur unie définie dans
pal ne fonctionnera plus et la couleur par défaut sera
appliquée.
Dans distrib_continuous() et
distrib_group_continuous(), il y a plusieurs changements
dans les arguments : pal devient col_density ;
pal_moustache devient col_moustache ;
color devient col_border. La raison de ce
changement est lié à un impératif de cohérence entre les fonctions :
l’argument pal est désormais réservé aux palettes de type
qualitatif. Néanmoins pour des raisons de compatibilité, les anciens
arguments demeurent dans la fonction, mais sont inactifs.
Il n’est plus possible d’introduire des palettes issues du package MoMAColors, celui-ci n’étant pas sur CRAN.
Introduction de l’argument coef_font pour multiplier
la taille de toutes les polices de caractère dans les graphiques de
toutes les fonctions.
Un grand nombre de caractères spéciaux sont désormais utilisables
dans le noms des groupes (du fait que ggtext a besoin d’un
formatage en codes HTML, cela provoquait auparavant des bugs dans les
graphiques).
Les palettes de toutes les fonctions ont désormais la même direction (cohérence entre toutes les fonctions).
Le thème par défaut de theme_fonctionr() devient
"fonctionr". La valeur NULL pour le theme crée
désormais un design très proche du thème par défaut de ggplot (mais en
gérant la taille de la police et le formatage permis par
ggtext).
Mise à jour des polices de caractère contenues dans
fonctionr : la police Montserrat inclue dans le package
peut désormais être formatée en italique et gras ; les polices ‘Amatic’
et ‘Helvetica Neue’ sont supprimées (du fait de la limite de 5Mo de
CRAN).
Date : 2026-01-10
esth_graph(),
many_val_group(), distrib_group_discrete(),
central_group() pour l’utilisation de
ggtext.create_palette().Date : 2026-01-05
prop_group() pour formater le
label du total en gras avec le package ggtext (inspiration
: https://github.com/wilkelab/ggtext/issues/121#issuecomment-3637732111).
Mise en italique du groupe NA par la même occasion. La fonction
interne relab_ggtext() a été créée pour opérer cette
simplification. Les autres fonctions doivent encore être modifiées dans
le même sens.Date : 2025-12-26
ggplot 4.0, qui impliquait que le total
sur les graphiques (en gras) soit indiqué ** total ** (avec des
astérisques). C’est le package ggtext qui est utilisé pour
mettre en gras le total dans les graphiques. Or, ggtext
n’est pas complètement compatible avec le nouveau fonctionnement de
ggplot 4.0 : l’héritage des propriétés ne se fait pas entre
éléments S3 et S7 (voir : ggtext and
parsing html with latest version of ggplot · Issue #6752 ·
tidyverse/ggplot2). Une solution temporaire a été ajoutée (à
corriger lorsque ggtext sera mis à jour : Update theme
elements to S7 class system · Issue #128 · wilkelab/ggtext).Date : 2025-11-03
Date : 2025-10-13
group.fill activé pour prop_group() et
central_group().Date : 2025-06-28
relab_cut().Date : 2025-05-17
lang devient NULL par
défaut pour les fonctions qui ont un argument lang.Date : 2025-04-29
flip dans
many_val_group() pour intervertir les groupes et les
indicateurs choisis sur le graphique.Date : 2025-03-27
distrib_group_discrete() possède désormais
un argument reorder (TRUE pour réordonner les
groupes selon le premier level de la variable quali_var) et
un argument show_n (TRUE pour afficher les
effectifs de l’échantillon en dessous du pourcentage).Date : 2025-03-17
make_surface() dispose de l’argument
linewidth_ci pour régler l’épaisseur des IC.Date : 2025-02-16
theme_fonctionr() dispose
maintenant de l’argument grid.lines, pour spécifier les
lignes de la grilles à afficher ("x", "y" ou
"both").Date : 2025-02-11
ggtext est désormais utilisé ; il
y a donc une dépendance en plus.distrib_group_discrete() affiche désormais
l’unité % sur l’axe des x par défaut, c’est-à-dire lorsque
l’unité est définie comme un espace vide ("") et que
l’argument scale vaut 100.Date : 2024-12-17
Ajout de palettes spécifiques pour l’Observatoire de la Santé et du Social.
Export de la fonction official_pal().
Ajout de la possibilité de désaturer, éclaircir ou foncer les palettes de couleur.
Date : 2024-09-15
Ajout de l’argument lang qui permet l’affichage des
indications sur les graphiques en trois langues : français, néérlandais,
anglais.
Ajout d’exemples dans la documentation des fonctions.
Date : 2024-09-04
Ajout du calcul de totaux pour central_group() et
prop_group() avec les group.fill
activés.
Ajout du calcul de totaux pour distrib_group_d() et
many_val_group().
Ajout d’un theme “IWEPS” pour les
graphiques.
L’argument show_lab devient show_labs
(avec un s) pour toutes les fonctions.
L’argument de couleur fill devient pal
pour toutes les fonctions (par cohérence).
Date : 2024-08-04
Modifications substancielles pour central_group() :
ajout de la possibilité de faire des sous-groupes (argument
group.fill) par groupe.
Ajout de la possibilité dans central_group() de ne
pas calculer le total.
Date : 2024-07-20
Ajout de la possibilité dans prop_group() de ne pas
calculer le total.
Dans make_surface(), l’option
position = "bottom" change également la position de la
surface minimale affichée lorsque compare = T (suggestion
de Robin).
Optimisation du code (très légère augmentation de la vitesse).
Date : 2024-07-07
Modifications substancielles pour prop_group() :
ajout de la possibilité de faire des sous-groupes (argument
group.fill) par groupe.
La fonction make_surface() est terminée :
documentation et checks.
Modification du code relatif aux palettes de couleurs pour
compatibilité avec la nouvelle version de PrettyCols
(changement de nom d’un argument).
Corrections mineures à divers endroits du code. Le check n’indique désormais plus d’erreur, warning ou note.
Date : 2024-06-29
Ajout de l’export excel pour distrib_continuous() et
distrib_group_continuous(). De légères modifications des
outputs de ces deux fonctions ont été apportées pour rendre l’export
propre.
Ajout de trois polices d’écriture dans fonctionr :
Helvetica Neue, League Gothic et
Amatic.
Date : 2024-06-06
distrib_group_continuous() lorsque la palette est d’une
seule couleur (on ne voit plus les limites des quantiles).make_surface().Date : 2024-05-27
distrib_group_continuous().Date : 2024-05-25
FUN = "median". Sans cela, il y avait dans certains cas
particuliers une erreur).Date : 2024-04-26
La documentation a été complétée pour que le package puisse être utilisé par des personnes tierces. Le package commence à être diffusable.
Le bug avec la ligne du geom_line qui est coupée pour
distrib_group_continuous() est réglé.
bug d’ordonnancement des facteurs réglé dans
esth_graph().
Date : 2024-04-20
Création de make_surface() comme fonction
indépendante utilisable sur n’importe quel tableau de
résultats.
Ajout de la possibilité d’afficher le résultat d’un test
statistique dans esth_graph().
Date : 2024-04-04
Création de distrib_continuous() et
distrib_group_continuous().
Modification du thème theme_fonctionr() pour qu’il
soit plus adapté aux nouvelles fonctions.
Date : 2024-03-17
esth_graph() et pivot_longer_survey()) :
simplification + structuration.na.rm.group et
na.rm.facet, introduction de na.rm.var pour
distrib_group_d() et distrib_d()).Date : 2024-03-15
na.rm.facet dans
prop_group() et central_group().many_val().na.vars pour
many_val() et many_val_group().Date : 2024-03-05
many_val().Date : 2024-03-03
data : simplification du code et message
plus clair et utile pour l’utilisateur.Date : 2024-03-01
many_val() comme fonction plus générale qui
englobe many_prop(). Il y a désormais la possibilité de
calculer des moyennes et des médianes avec les alias
many_mean() et many_median().na.var devient
na.prop et facet.var devient
facet.Date : 2024-02-22
prop_group(),
évitant de produire des résultats incohérents.Date : 2024-02-19
trycatch() sur le test statistique
dans prop_group() : le test statistique est désormais
bypassé si les conditions ne sont pas remplies et ne stoppe donc plus
prop_group() en cas d’erreur.Date : 2024-02-17
many_prop_group() soient bien binaires, et pour éviter les
variables à une modalité pour quali_var dans
distrib_group_discrete().esth_graph().Date : 2024-02-17
many_prop() et
many_val_group().Date : 2024-02-14
Implémentation du test statistique pour
distrib_discrete().
Correction d’un bug découvert à cette occasion, qui empêchait de
faire fonctionner distrib_discrete() avec
na.rm.group = FALSE.
Date : 2024-02-14
prop_group() : ajout de la possibilité de calculer
des proportions en comptant les NA au dénominateur avec
l’argument na.var = "include". Dans ce cas, l’expression
prop_exp peut contenir la fonction is.na()
pour calculer la proportion de valeurs manquantes.
many_val_group() : changement de l’ordre des labels
pour que l’ordre des couleurs corresponde à l’ordre sur le
graphique.
Ajout d’exemples dans la documentation à partir des données SILC inclues dans le package laeken.
Correction de bugs mineurs.
(Joël) Réécrire export_excel() => la
fonction est un peu bordélique et le nom des arguments pas
clairs.
(Joël) Harmoniser les fonctions internes
=> fonctionr_ggplot_labs() utilise type
pour désigner la fonction dans laquelle on se trouve, vs
fonction pour export_excel() et
fonctionr_filter() : future source de confusion pour
maintenir le package.
=> Certaines conditions sont implicites, d’autres explicites ->
faire le même travail que François a fait sur
fonctionr_filter()
(Joël) Ajouter que pour supprimer xlab ou ylab, on puisse
entrer NA et pas seulement ““.
=> Une fonction unique de labellisation des axes x et y a déjà
été crée pour faciliter cet ajout.
(François) Ajouter toutes les options dans
fonctionr_options(), sauf les arguments avec données ou
variables.
=> Ajouter parallel.
(François) Revoir la doc de chaque fonction et le manuel
par rapport aux changements. Voir ici pour savoir les différentes
options possibles dans la doc : https://r-pkgs.org/man.html.
=> Documenter la fonction fonctionr_options() (+
explication dans le manuel).
=> Changer la doc pour les palettes par défaut.
(François) Créer un tableau joli en output (avec
flextable).
BUG : si une variable de design == le nom d’un objet externe, ça fonctionne => APPROFONDIR ET REGLER CA ?
Rendre l’usage non interactif (= la programmation via d’autres
fonctions) possible => gros travail, usage de rlang à la
place de substitute().
Mettre des conditions pour réaliser les tests (n min, distribution, variances égales…).
Ajouter des checks pour les inputs :
group, var_distrib, facet_var,
etc.).survey, il faut la faire soi-même.(Joël) Sélectionner uniquement les variables nécessaires pour minimiser la RAM utilisée (désactivé car bug ?)
(Joël) Introduire la mise en forme avec ggtext => plus
difficile ici car le NA a été tranformé en level. Réfléchir
à la meilleure solution et revoir éventuellement la
fonction.
(François + Joël) Ajouter hauteur des densités proportionnelle aux effectifs pondérés.
Il y a un warning de la fonction density() qui dit
que Selecting bandwidth not using 'weights'. La doc de
density() dit : “automatic bandwidth selection will not take the weights
into account and hence may be suboptimal.”
=> Voir si c’est un problème ?
Le groupe NA est transfomé en level du facteur de
groupe. De ce fait, il n’apparaît pas toujours en dernier, notamment
lorsque reorder = T. Régler ça (pas cohérent avec les
autres fonctions).
Faire en sorte que le nom du groupe soit toujours le même dans
les sorties de la liste (pour le moment, parfois “group”, parfois le nom
de la variable) => implique de changer l’argument by =
des left_join() dans le script, et donc le nommage des
colonnes.
Ajouter la possibilité de facets.
La colonne central dans l’objet dens
produit n’a pas de valeur y_ridges.
Un peu cleaner le script : il y a des étapes inutiles qui pourraient être simplifiées, notamment dans la création des valeurs centrales.
Ajouter la possibilité d’un total.
tryCatch().survey (erreurs fréquentes).geom_text()
?make_surface().reorder = T, l’ordre des
couleurs de la palette n’est pas respecté => changer le comportement
?NA apparait en premier lorsque
position = "flip" => Corriger, il doit apparaître en
dernier.show_n = T
lorsque position == "stack"geom_text()
?reorder = T, l’ordre des
couleurs de la palette n’est pas respecté => changer le comportement
?many_val_group() et many_val()
!Ajouter la détection automatique des IC (possible si les colonnes
sont du même nom que la valeur, mais terminant par _low et
_upp).
Ajouter les checks (penser le cas spécifique de
pvalue).
Lorsque facet, mieux penser l’alignement entre mêmes modalités ?
Ajouter les arguments dec et éventuellement
scales.
Changer le nom.
Ajouter le check pour l’argument pvalue.
Régler le pb si multiples NA + voir si un pb se pose
avec multiples totaux.
=> BUG : la condition stoppe si multiples NAs avec
facettes même si 1 seul NA par facette (condition trop
stricte => ça doit passer)
eval(), voir code de
central_group().rlang.theme_fonctionr() au
bug de compatibilité entre ggtext et
ggplot 4.0 lorsque ggtext aura été mis à jour. Voir : https://github.com/jgires/fonctionr/commit/0461f452405628d1aaf692a0266f3a281c2b67d6.Il semble qu’il faille filtrer après la déclaration du design. Si on ne le fait pas, on considère le design sur l’objet filtré (avec moins de PSU / strates qu’il y en a en réalité), ce qui sous-estime potentiellement la distribution d’échantillonnage. Voir :
https://notstatschat.rbind.io/2021/07/22/subsets-and-subpopulations-in-survey-inference/
=> De ce fait, j’ai inclus une option de filtre (filter_exp) dans les fonctions (qui filtre après la déclaration du design), qui évite de filtrer l’objet avant en dégradant le design. => Vérifier que c’est bien OK !
Superposition de 2 statistiques (bar + lines) avec échelles différentes.
Tableau croisé avec résidus ou couleur par proportion (proportions par c, l, ou total)