fonctionr 0.3.10
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.
fonctionr 0.3.9
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.
fonctionr 0.3.8
Date : 2024-09-04
Ajout du calcul de totaux pour
central_group()
etprop_group()
avec lesgroup.fill
activés.Ajout du calcul de totaux pour
distrib_group_d()
etmany_val_group()
.Ajout d’un
theme
“IWEPS” pour les graphiques.L’argument
show_lab
devientshow_labs
(avec un s) pour toutes les fonctions.L’argument de couleur
fill
devientpal
pour toutes les fonctions (par cohérence).
fonctionr 0.3.7
Date : 2024-08-04
Modifications substancielles pour
central_group()
: ajout de la possibilité de faire des sous-groupes (argumentgroup.fill
) par groupe.Ajout de la possibilité dans
central_group()
de ne pas calculer le total.
fonctionr 0.3.6
Date : 2024-07-20
Ajout de la possibilité dans
prop_group()
de ne pas calculer le total.Dans
make_surface()
, l’optionposition = "bottom"
change également la position de la surface minimale affichée lorsquecompare = T
(suggestion de Robin).Optimisation du code (très légère augmentation de la vitesse).
fonctionr 0.3.5
Date : 2024-07-07
Modifications substancielles pour
prop_group()
: ajout de la possibilité de faire des sous-groupes (argumentgroup.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.
fonctionr 0.3.4
Date : 2024-06-29
Ajout de l’export excel pour
distrib_continuous()
etdistrib_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
etAmatic
.
fonctionr 0.3.3
Date : 2024-06-06
- Amélioration de l’affichage des aires de densité dans
distrib_group_continuous()
lorsque la palette est d’une seule couleur (on ne voit plus les limites des quantiles). - Ajout des facets dans
make_surface()
. - Mise à la ligne automatique de caption tous les 100 caractères dans toutes les fonctions.
fonctionr 0.3.2
Date : 2024-05-27
- Correction d’un bug sur le reorder des valeurs dans
distrib_group_continuous()
.
fonctionr 0.3.1
Date : 2024-05-25
- Correction d’un bug dans la plupart des fonctions sur le reorder des
valeurs par la médiane des résultats utilisé pour les facets (la
fonction est désormais écrite avec des guillemets :
FUN = "median"
. Sans cela, il y avait dans certains cas particuliers une erreur).
fonctionr 0.3.0
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()
.
fonctionr 0.2.13
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()
.
fonctionr 0.2.12
Date : 2024-04-04
Création de
distrib_continuous()
etdistrib_group_continuous()
.Modification du thème
theme_fonctionr()
pour qu’il soit plus adapté aux nouvelles fonctions.
fonctionr 0.2.11
Date : 2024-03-17
- Réécriture du code de toutes les fonctions (sauf
esth_graph()
etpivot_longer_survey()
) : simplification + structuration. - Nouvelle logique des na.rm finalisée pour toutes les fonctions
(différenciation de
na.rm.group
etna.rm.facet
, introduction dena.rm.var
pourdistrib_group_d()
etdistrib_d()
). - Ajout de checks pour vérifier si la couleur/palette est valide : couleur/palette par défaut si la couleur introduite est invalide.
- Création d’une fonction interne de création de palettes, permettant de produire les palettes de différentes institutions (pour l’instant Vivalis et Perspective, pour tester).
fonctionr 0.2.10
Date : 2024-03-15
- Ajout des argument
na.rm.facet
dansprop_group()
etcentral_group()
. - Possibilité de mettre une couleur unie pour
many_val()
. - Création de l’argument
na.vars
pourmany_val()
etmany_val_group()
.
fonctionr 0.2.8
Date : 2024-03-03
- Modification des checks pour voir si les variables indispensables
existent bien dans
data
: simplification du code et message plus clair et utile pour l’utilisateur.
fonctionr 0.2.7
Date : 2024-03-01
- Ajout de
many_val()
comme fonction plus générale qui englobemany_prop()
. Il y a désormais la possibilité de calculer des moyennes et des médianes avec les aliasmany_mean()
etmany_median()
. - Plus de parcimonie pour l’import des packages extérieurs dans le namespace.
- Changement de nom des arguments :
na.var
devientna.prop
etfacet.var
devientfacet
. - Début de simplification du code dans un but de facilité pour la maintenance et les modifs futures.
fonctionr 0.2.6
Date : 2024-02-22
- Ajout d’un check de l’expression dans
prop_group()
, évitant de produire des résultats incohérents.
fonctionr 0.2.5
Date : 2024-02-19
- Implémentation du
trycatch()
sur le test statistique dansprop_group()
: le test statistique est désormais bypassé si les conditions ne sont pas remplies et ne stoppe donc plusprop_group()
en cas d’erreur.
fonctionr 0.2.4
Date : 2024-02-17
- Implémentation de checks pour vérifier que les variables de
many_prop_group()
soient bien binaires, et pour éviter les variables à une modalité pourquali_var
dansdistrib_group_discrete()
. - Correction d’un bug dans
esth_graph()
.
fonctionr 0.2.3
Date : 2024-02-17
- Implémentation de l’export excel pour
many_prop()
etmany_val_group()
.
fonctionr 0.2.2
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()
avecna.rm.group = FALSE
.
fonctionr 0.2.1
Date : 2024-02-14
- Amélioration des fonctions internes de vérification de la validité des arguments. Celles-ci renvoient désormais un message plus clair pour l’utilisateur.
fonctionr 0.2.0
prop_group()
: ajout de la possibilité de calculer des proportions en comptant lesNA
au dénominateur avec l’argumentna.var = "include"
. Dans ce cas, l’expressionprop_exp
peut contenir la fonctionis.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.
To do list
Prioritaire (nécessités ou bugs)
En général
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 desubstitute()
.Les couleurs des palettes sont attachées au groupe (
many_val_group()
) ou à l’indicateur (many_val()
), mais pas à la position. De ce fait, lorsquereorder = T
, l’ordre des couleurs de la palette n’est pas respecté => changer le comportement ?Bug à l’import de
fonctionr
du fait de collision entreMetBrewer
,MoMAColors
,PrettyCols
et les fonctions de base ? Je ne comprends pas le message.Documenter tous les arguments des différentes fonctions + vérifier que les explications sont bien correctes (quelques erreurs, par ex. à cause de copier-coller ou de l’ajout de nouveaux argument avec la nouvelle logique des na.rm). Voir ici pour savoir les différentes options possibles dans la doc : https://r-pkgs.org/man.html.
Vérifier que les scripts sont bien commentés pour qu’on se rappelle ce qu’on a fait (il manque des notes et quelques explications d’opérations dont je ne me rappelle plus le but).
Passer le code de chaque fonction en revue pour cleaner / harmoniser / simplifier.
=> En cours : il faut encore checker le code du graphique ggplot.Ajouter des exemples pour chaque fonction (pour le site) : manque
pivot_longer_survey()
,esth_graph()
.Vérifier les messages à l’utilisateur : voir quoi garder, corriger, traduire, indiquer les accents (é, è…), ajouter des guillemets pour les arguments dans les checks, mieux écrire les résultats des tests stat (on ne sait pas quelle est l’hypothèse nulle).
=> Traduire ces messages selon la langue ? Ou tout en anglais ?Mettre des conditions pour réaliser les tests (n min, distribution, variances égales…).
Changer la fonction
scales::pvalue
, qui n’est plus valide (superseded) => Faire une fonction maison en interne ?-
Ajouter des checks pour les inputs :
- Pas mettre les mêmes colonnes dans les différents arguments ?
(
group
,var_distrib
,facet_var
, etc.).
- Pas mettre les mêmes colonnes dans les différents arguments ?
(
Les cluster / strates / weights n’apparaissent pas dans le message de la console avec les replicates => pourquoi ?
distrib_c
- Ajouter le test stat univarié avec comme H0 mu dans la population.
Apparemment la fonction n’est pas pré-programmée dans
survey
, il faut la faire soi-même. - Ajouter la possibilité de facets.
distrib_group_c
Le groupe
NA
est transfomé en level du facteur de groupe. De ce fait, il n’apparaît pas toujours en dernier, notamment lorsquereorder = 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 =
desleft_join()
dans le script, et donc le nommage des colonnes.Ajouter la possibilité de facets.
La colonne
central
dans l’objetdens
produit n’a pas de valeury_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.
central_group
- Bypasser l’erreur du test stat avec
tryCatch()
.
distrib_group_d
- Implémenter un test stat lorsqu’il y a des facets => via
modélisation loglinéaire, mais j’ai un peu de mal à comprendre les
erreurs de
survey
(erreurs fréquentes). - Redondance du code avec total pour le
geom_text()
?
many_val_group
- Améliorer l’alignement des effectifs avec
show_n = T
lorsqueposition == "stack"
- Redondance du code avec total pour le
geom_text()
? - Fusionner
many_val_group()
etmany_val()
!
=> + Ajouter la possibilité de group.fill pour les deux
make_surface
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 éventuellementscales
.
Améliorations
En général
- Faire une fonction commune pour la création de palettes + checks => redondance inutile entre les fonctions.
- Réécrire le code du test pour avoir la formule originale =>
possible avec
eval()
, voir code decentral_group()
. - Voir si on peut créer une fonction commune à toutes les fonctions du
package pour créer le ggplot => ce serait une large simplification.
Pour l’instant, il y a déjà un thème commun
theme_fonctionr
. - Créer une fonction de check des inputs indispensables (car
redondance entre les 4 fonctions)
=> Pour l’instant c’est fait “en dur” : difficultés de créer une fonction du fait de l’usage du tidyverse : il faut sans doute utiliser les fonctions derlang
. - L’import des packages peut être optimisé : il n’est pas utile
d’importer des packages extérieurs entiers dans le NAMESPACE,
cela augmente le risque de collisions de noms de fonctions => un bon
résumé ici : https://mdneuzerling.com/post/what-ive-learnt-about-making-an-r-package/
et pour plus de détails : https://r-pkgs.org/dependencies-in-practice.html.
=> A faire : importer seulement les fonctions utiles (mutate, select, etc.).
distrib_group_d
Ajouter les n par “cellule” ?
Ajouter les effectifs totaux par groupe ? (dans le nom du groupe ?)
Réordonner les levels sur la variable
group
? Mais selon quelle valeur (vu qu’il y en a plusieurs) ? Celle du premier level de la variablevar_distrib
?Possibilité d’indiquer un vecteur avec une palette de couleur ?
Notes
Filtrage
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 ! A FAIRE : expliquer dans la doc !