Skip to contents

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() 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).

fonctionr 0.3.7

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.

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’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).

fonctionr 0.3.5

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.

fonctionr 0.3.4

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.

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

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

fonctionr 0.2.11

Date : 2024-03-17

  • Réécriture du code de toutes les fonctions (sauf esth_graph() et pivot_longer_survey()) : simplification + structuration.
  • Nouvelle logique des na.rm finalisée pour toutes les fonctions (différenciation de na.rm.group et na.rm.facet, introduction de na.rm.var pour distrib_group_d() et distrib_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

fonctionr 0.2.9

Date : 2024-03-05

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 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().
  • Plus de parcimonie pour l’import des packages extérieurs dans le namespace.
  • Changement de nom des arguments : na.var devient na.prop et facet.var devient facet.
  • 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 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.

fonctionr 0.2.4

Date : 2024-02-17

fonctionr 0.2.3

Date : 2024-02-17

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() avec na.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 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.

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 de substitute().

  • Les couleurs des palettes sont attachées au groupe (many_val_group()) ou à l’indicateur (many_val()), mais pas à la position. De ce fait, lorsque reorder = T, l’ordre des couleurs de la palette n’est pas respecté => changer le comportement ?

  • Bug à l’import de fonctionr du fait de collision entre MetBrewer, 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.).
  • 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 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.

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 lorsque position == "stack"
  • Redondance du code avec total pour le geom_text() ?
  • Fusionner many_val_group() et many_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 éventuellement scales.

esth_graph

  • 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)

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 de central_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 de rlang.
  • 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 variable var_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://stats.stackexchange.com/questions/411026/why-it-is-important-to-make-survey-design-object-svydesign-function-in-r-with-i

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 !

Fonctions à créer

Bivarié ou 3 variables+

  • 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)