Bonnes pratiques de développement avec R

ANF CNRS, Lille, 2024

Auteur·rice·s
Affiliation

Florent Chuffart

Ghislain Durif

Frédéric Santos

CNRS, Univ. Bordeaux, MCC – UMR 5199 PACEA

Date de publication

18 juin 2024

1 Objectifs

Dans cette action nationale de formation, les participants pourront découvrir de bonnes pratiques en développement logiciel afin d’assurer la qualité de leur code, apprendre à maîtriser des outils pour mettre en application ces bonnes pratiques, et concevoir un package R.

À l’issue de la formation, les participants auront pu :

  • appliquer concrètement les bonnes pratiques de développement en langage R ;
  • mettre en œuvre le processus de développement d’un package ;
  • mettre en place un versionnement avancé du travail avec Git ;
  • tester automatiquement leur code et configurer un environnement d’intégration continue ;
  • publier un package R sur une forge basée sur Git, et découvrir le processus de soumission d’un package sur le CRAN.

2 Organisation de la formation

Cette formation se déorulera du 18 avril au 20 avril 2024, et suivra la trame suivante :

  • 18/04 matin : accueil, présentation générale du processus de développement d’un package R ;
  • 18/04 après-midi et 19/04 matin : conception pratique d’un package R, en versionnant le code et en mettant en place un test automatisé des fonctions ;
  • 19/04 après-midi : documenter, publier et promouvoir un package R ;
  • 20/04 matin : session pratique récapitulative.

3 Fil rouge

Durant cette formation, les participants devront concevoir un package R (de petite taille) destiné à l’évalutation et la quantification des erreurs de mesure.

3.1 Pourquoi ce thème ?

La question des erreurs de mesure est fondamentale dans toutes les sciences expérimentales : leur quantification et leur contrôle sont des éléments fondamentaux afin d’assurer la fiabilité des résultats obtenus. Afin de prendre un cas d’application très simple, nous nous intéresserons au cas des erreurs de mesure en anthropométrie ou en ostéologie, et plus précisément au fait d’évaluer la concordance entre des mesures ou des observations effectuées sur du matériel osseux par différents chercheurs. Nous tenterons donc de concevoir quelques fonctions R très simples permettant de répondre à cette question : les mesures prises par un chercheur A sont-elles suffisamment cohérentes avec celles prises par un chercheur B sur les mêmes individus ?

De très nombreux indicateurs statistiques existent pour répondre à cette question (Barnhart et al., 2007; Lin et al., 2002; Ranganathan et al., 2017). Nous aborderons plus précisément les cas suivants :

Le choix de ce thème est guidé par la simplicité conceptuelle de la problématique, la simplicité statistique et mathématique des fonctions R à coder, et par la facilité à tester automatiquement les résultats obtenus.

3.2 Contenu du package à concevoir

Le package contiendra donc notamment :

  • une fonction ccc() implémentant le coefficient de concordance de Lin ;
  • une fonction tem() implémentant l’erreur techinique de mesure ;
  • une fonction kappa_cohen() implémentant le Kappa de Cohen ;
  • et bien sûr, une documentation exhaustive pour toutes ces fonctions !
Retour au sommet

Références

Barnhart, H. X., Haber, M. J., & Lin, L. I. (2007). An Overview on Assessing Agreement with Continuous Measurements. Journal of Biopharmaceutical Statistics, 17(4), 529‑569. https://doi.org/10.1080/10543400701376480
Cohen, J. (1960). A Coefficient of Agreement for Nominal Scales. Educational and Psychological Measurement, 20(1), 37‑46. https://doi.org/10.1177/001316446002000104
Lin, L. (1989). A Concordance Correlation Coefficient to Evaluate Reproducibility. Biometrics, 45(1), 255. https://doi.org/10.2307/2532051
Lin, L., Hedayat, A. S., Sinha, B., & Yang, M. (2002). Statistical Methods in Assessing Agreement. Journal of the American Statistical Association, 97(457), 257‑270. https://doi.org/10.1198/016214502753479392
Perini, T. A., & de Oliveira, G. L. (2005). Technical Error of Measurement in Anthropometry. Rev Bras Med Esporte, 11(1), 5.
Ranganathan, P., Pramesh, C., & Aggarwal, R. (2017). Common Pitfalls in Statistical Analysis: Measures of Agreement. Perspectives in Clinical Research, 8(4), 187. https://doi.org/10.4103/picr.PICR_123_17