class: right, middle, title-slide # Messages à retenir ## En guise d’au-revoir
###
L’équipe au complet
### .inst[Décembre 2021] --- ```r is_reproducible <- function(recherche) { reqs <- c("Données", "Métadonnées", "Matériel & Méthodes", "Article") if (sum(is.element(recherche, reqs)) == length(reqs)) { cat("'[x_-]' <(Congrats, this research is REPRODUCIBLE!)\n") } else { cat("'[-_-]' <(BoOoOo, this research is NOT REPRODUCIBLE!)\n") } } ``` Si on prend par exemple, un article. ```r recherche_a <- c("Article") is_reproducible(recherche_a) ``` ``` ## '[-_-]' <(BoOoOo, this research is NOT REPRODUCIBLE!) ``` <br /> ```r recherche_b <- c("Matériel & Méthodes", "Article") is_reproducible(recherche_b) ``` ``` ## '[-_-]' <(BoOoOo, this research is NOT REPRODUCIBLE!) ``` <br /> ```r recherche_c <- c("Données", "Métadonnées", "Matériel & Méthodes", "Article") is_reproducible(recherche_c) ``` ``` ## '[x_-]' <(Congrats, this research is REPRODUCIBLE!) ``` --- <br/> <br/> **A vous de choisir le degré de complexité** mais respectez ces **3** principes : <br/> <br/> <br/> <br/>
**Organisez vos fichiers selon les conventions de votre communauté**. <br/> <br/> <br/> <br/>
**Séparez données, méthodes et résultats**, tout en explicitant votre démarche. <br/> <br/> <br/> <br/>
**Specifiez l'environnement de développement** qui a été utilisé pour réaliser vos analyses. --- <br/>
**Organisez vos fichiers selon les conventions de votre communauté**. <br/> <br/> <br/> <br/> Organisez votre répertoire de travail avec des sous-dossiers : construisez un `Research Compendium` - [Lecture](https://faculty.washington.edu/bmarwick/PDFs/Marwick-Boettiger-Mullen-2018-TAS-research-compendia.pdf) --- <br/>
**Séparez données, méthodes et résultats**, tout en explicitant votre démarche. <br/> <br/> <br/> <br/> Développez des fonctions
dans un sous-dossier `R/` et documentez-les avec `devtools::document()` (pour les rendre accessible à vos analyses grâce au `NAMESPACE`) <br/> <br/> <br/> <br/> Intégrez vos analyses, résultats et éléments textuels avec `RMarkdown` --- <br/>
**Specifiez l'environnement et l'historique de développement** qui a été utilisé pour réaliser vos analyses. <br/> <br/> `Versionnez` votre développement avec
et GitHub
(ou GitLab
) <br/> <br/> Créez un fichier `DESCRIPTION` et utilisez les fonctions : - `devtools::install_deps()` : évite d'utiliser `install.packages()` - `devtools::load_all()` : évite d'utiliser `library()` et `source()` <br/> <br/> Créez un `README` pour décrire l'environnement de développement (e.g. `devtools::session_info()`), et pour les plus téméraires, ayez l'esprit `Docker`
--- **Et aussi...** <br/> <br/> <br/> <br/>
**Pour un travail collaboratif :** (potentiellement avec vous-même dans 3 mois) `Versionnez` votre développement avec
et GitHub
(ou GitLab
) <br/> <br/> <br/> <br/>
**Utilisez un "pipeline" si vos analyses prennent du temps :** Packages `{drake}` , `{targets}` <br/> <br/> <br/> <br/>
**Pour diffuser / réutiliser vos fonctions :** Construisez un `package R` (n'oubliez pas le `.Rbuildignore`)