R à l’Usage des Sciences Sociales - Paris - 11 juin 2021
Selon Claerbout, Donoho, Peng (… et Giraud) :
Recherche reproductible : Les auteurs fournissent les données et le code nécessaire pour rejouer les analyses et recréer les résultats numériques.
Replication : Une étude arrive aux même résultats scientifiques en collectant de nouvelles données (éventuellement avec des méthodes différentes) et en réalisant une nouvelle analyse.
Attention, d’autres auteurs et institutions inversent ces définitons, les utilisent de manière indifférenciée ou rajoute le concept de répétabilité.
Barba, L. A. (2018). Terminologies for reproducible research. arXiv preprint arXiv:1802.03311.
Peng R. D. (2011). Reproducible research in computational science. Science (New York, N.Y.), 334(6060), 1226–1227. https://doi.org/10.1126/science.1213847
. ├── data │ ├── martinique.gpkg │ └── rev.csv └── fig └── map.png
. ├── data │ ├── martinique.gpkg │ └── rev.csv ├── fig │ └── map.png └── metadata └── metadata.txt
. ├── analyse │ └── carte_revenus.R ├── data │ ├── martinique.gpkg │ └── rev.csv ├── fig │ └── map.png └── metadata └── medata.txt
. ├── analyse │ └── carte_revenus.R ├── data │ ├── martinique.gpkg │ └── rev.csv ├── fig │ └── map.png └── make_a_map.Rproj
. ├── analyse │ ├── carte_des_revenus.Rmd │ └── carte_des_revenus.html ├── data │ ├── martinique.gpkg │ └── rev.csv ├── fig │ └── map.png ├── make_a_map.Rproj └── metadata └── metadata.txt
renv
(succésseur de packrat
)miniCRAN
: créer un CRAN personnelcheckpoint
groundhog
renv
Gerer les versions des packages utilisés dans un projet.
Isoler, intelligemment, les packages par projet.
renv
Package renv : présentation et retour d’expérience, par Elise Maigné
RUG Toulouse, mai 2021
targets
(succésseur de drake
)
Pour les gros projets.
Gestion des caches et parralélisation des tâches
targets
Reproducible Computation at Scale in R with {targets}, par Will Landau
RUG Lille, le 17 juin 2021
1 - Les packages fournissent une structure de dossiers standardisée pour organiser les fichiers
2 - Les packages fournissent des fonctionnalités pour documenter les données et les fonctions
3 - Les packages fournissent un cadre pour tester son code
4 - se concentrer sur les points 1–3 permet de réutiliser et partager son code
Put your Data Analysis in an R Package — Even if You Don’t Publish it, par Denis Gontcharov
docker pull riatelab/make_a_map:v1.0.0 docker run -d -e PASSWORD=xxx --rm -p 8787:8787 riatelab/make_a_map:v1.0.0
git, GitHub, GitLab ???
Git est un système de gestion de version distribué
GitHub et GitLab hébèrgent des dépots distants + des services pour gérer des projets (issue tracking, collaboration, hébergement web, CI/CD)
GitLab a un modèle open-core. Possibilité d’héberger une instance.
Ram, K. Git can facilitate greater reproducibility and increased transparency in science. Source Code Biol Med 8, 7 (2013). https://doi.org/10.1186/1751-0473-8-7
A research compendium accompanies, enhances, or is a scientific publication providing data, code, and documentation for reproducing a scientific workflow.
https://research-compendium.science/
Stocker / archiver ses données dans un dépôt respectant les principes FAIR :
Peer, L., Orr, L., & Coppock, A. (2021). Active Maintenance: A Proposal for the Long-Term Computational Reproducibility of Scientific Results. PS: Political Science & Politics, 1-5. doi:10.1017/S1049096521000366
CRAN Task View: Reproducible Research
Recherche reproductible : principes méthodologiques pour une science transparente MOOC de C. Pouzat, A. Legrand et K. Hinsen
rcarto.github.io/spectre-reproductibilite-r/
Code de la présentation
@rgeomatic
rgeomatic.hypotheses.org
R version 4.1.0 (2021-05-18) Platform: x86_64-pc-linux-gnu (64-bit) Running under: Debian GNU/Linux 10 (buster) Matrix products: default BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.8.0 LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.8.0 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] knitr_1.33 loaded via a namespace (and not attached): [1] codetools_0.2-18 png_0.1-7 digest_0.6.27 R6_2.5.0 jsonlite_1.7.2 [6] magrittr_2.0.1 evaluate_0.14 highr_0.9 rlang_0.4.11 stringi_1.6.2 [11] jquerylib_0.1.4 bslib_0.2.5.1 rmarkdown_2.8 tools_4.1.0 stringr_1.4.0 [16] xfun_0.23 yaml_2.2.1 compiler_4.1.0 htmltools_0.5.1.1 sass_0.4.0