Être un•e utilisateur•rice de R résilient•e

Maëlle Salmon 🏠 https://masalmon.eu 🐦 ma_salmon

Licence CC-BY-SA

👋 Bonjour depuis Nancy !

Casque audio et petits hellos sur un fond jaune

Picture by Ann H on Pexels.

Mon parcours R

L3 biologie à l’ENS. Premiers pas de R, ⚡ passion pour R Graph Gallery!

Master écologie, mastère santé publique. Beaucoup de scripts.

Thèse de statistique. Contribution à un paquet ! R-Forge, Rd à la main, Sweave.

Statisticienne et gestionnaire de données. Utilisation de devtools, tidyverse, R Markdown, git.

En même temps que devtools &co : Twitter, blog R, soumission d’un paquet à rOpenSci, co-fondation du meetup R-Ladies Barcelona.

Projets récents

Diverses missions pour rOpenSci, notamment maintenance du package dev guide. 🔧

Travail sur la pkgdown 2.0.0, sur fledge. ✨

Livre “HTTP testing in R” avec Scott Chamberlain. 📖

Engagements actuels dans R

Compte Twitter de R-Ladies Global. 🐦

Éditrice pour le système de revue de paquets de rOpenSci. 📦

Diverses présentations de partage de connaissances. 😉

Retrouvez les diapos en ligne 😁

🔗 https://rug-lille-maelle.netlify.app/

R, quelle joie de chaque instant ! …

… ou presque.

Personne prête à s'arracher les cheveux devant son ordinateur

Picture by Andrea Piacquadio on Pexels.

Limiter vos peines

En prévenant les problèmes :

  • Garder ses installations à jour ou pas;
  • Suivre les nouveautés sans anxiété de ratage.

En résolvant plus efficacement les problèmes :

  • tout·e seul·e;
  • En sachant comment et où demander de l’aide.

Prévention des problèmes

Personne assise dans la rue utilisant son ordinateur portable

Picture by Godisable Jacob on Pexels.

Mettre à jour votre pile technologique

Mettre R à jour

Pourquoi mettre R à jour ?

  • Compatibilité des paquets R les plus récents.

  • Plus on attend plus c’est dur de lire les changements.

Nouvelles de R

Comment mettre R à jour

Suivre les instructions pour son système opératoire. Ubuntu, suivre les conseils de Sébastien Rochette de ThinkR.

Ré-installer les paquets ou pas ? Cela dépend de la version. rstats.wtf. Nettoyage de printemps ?

Mettre les paquets à jour

Les nouvelles versions sont censées être meilleures.

Fruits frais dans un bol, avec autres fruits et muffins à côté

Picture by Trang Doan on Pexels.

Suivre les nouvelles du paquet ?

  • Via RStudio

  • Dépôt du paquet (release watch de GitHub), blog du paquet, etc.

À quoi s’attendre ?

Mes scripts vont-ils cesser de fonctionner après mise à jour du paquet ? 😱

Utiliser le miroir de CRAN sur GitHub. https://github.com/cran/testthat

Tout dépend du travail de communication autour du et dans le paquet.

Ne pas mettre à jour

Pour un papier, en production

Ne pas mettre à jour : renv

Dans chaque projet,

  • renv::init();

  • On installe / désinstalle comme d’hab, renv::snapshot() régulièrement (stocke les infos sur les paquets dans le fichier renv.lock);

  • Nouvel ordi : renv::restore().

Ne pas mettre à jour : renv

Cf présentation d’Élise Maigné au RUG Toulouse

https://r-toulouse.netlify.app/evenements/2021-05-28-diaporama-et-vid%C3%A9o-de-la-rencontre-de-mai-2021/

Se tenir au courant

Disquette jaune

Picture by Pixabay on Pexels.

Pourquoi se tenir au courant ?

Améliorer votre travail actuel. Exemple : rex !

Résoudre vos problèmes futurs. Exemple : savoir que reticulate existe.

Personne lisant un journal avec un air surpris

Picture by Andrea Piacquadio on Pexels.

Comment se tenir au courant aide ?

Apprendre des choses sur les outils,

Connaître les organisations et personnes clés.

Croissant et journal sur un banc

Picture by Olya Kobruseva on Pexels.

Flux infinis d’information

Twitter #rstats hashtag, Twitter timeline.

GitHub timeline.

Difficiles à optimiser.

Rivière entre deux champs avec une barque dessus

Picture by Quang Nguyen Vinh on Pexels.

Flux infinis d’information

😌 Ne pas vouloir tout lire.

✂️ Silencier, optimiser avec Tweetdeck (❤️ filtres dont expressions régulières) et RefinedGitHub et “custom repo watching” ?

✨ Suivre les comptes utiles pour vous.

📖 Lire Twitter for R programmers.

🤷 Et si ça ne vous va pas, passez votre chemin ! Juste un compte pour renvoyer vers votre page ?

Nouvelles agrégées

Assortiment de donuts

Picture by cottonbro on Pexels.

Votre collection ?

Flux RSS de vos blogs préférés !

Par exemple via feedly.

Y compris blogs des outils que vous utilisez.

Conférences

Auditorium vide

Picture by Pixabay on Pexels.

Conférences R

Allez-y ou…

Utilisez ce qui est en ligne (beaucoup de choses ces temps-ci 😬)

  • Lisez les programmes

  • Lisez les diapos

  • Regardez les vidéos

Conférences R, quand, où ?

R Weekly conferences section 🚀

Agenda, calendrier et stylo doré

Picture by Olya Kobruseva on Pexels.

Pourquoi pas lire des bouquins

Big Book of R, collection de liens vers des livres R dont beaucoup sont gratuits !

Choisissez des livres récents.

Personne prenant des livres dans une bibliothèque

Picture by Min An on Pexels.

Pourquoi pas lire des bouquins

Exemple de livre que j’ai lu, très utile : R Markdown Cookbook par Yihui Xie, Christophe Dervieux, Emily Riederer.

Couverture du livre R Markdown cookbook, avec des petites boules poilues sorcières

Discuter

Avec vos collègues.

À des meetups. 😁

Réunion

Picture by Christina Morillo on Pexels.

Ne pas trop se tenir au courant

Se mettre à jour…Ce n’est pas tout suivre en direct !

Rien ne sert de tout lire.

Commit to your lock-in”. Au travail, avec vos outils peut-être imparfaits.

Que faire des infos ?

Les évaluer !

  • Comme toute information, au final.

  • En demandant à vos amis de R, cf la suite de cette présentation.

Pour les paquets il y a des critères objectifs.

Critères d’évaluation de paquets

  • Développement actif ?

  • Bien testé ?

  • Bien documenté ?

  • Populaire ?

  • Développé par quelqu’un / une organisation de confiance ?

Guides sur les paquets

Étagères pleines de paquets dans un hangar

Picture by Tiger Lily on Pexels.

Dev guide de rOpenSci

Stats dev guide de rOpenSci

Tidyverse design guide

Résolution des problèmes

Personne écrivant sur un bloc devant un ordinateur

Picture by Andrea Piacquadio on Pexels.

Ma typologie de questions sur R

Problème ! Bug ! Erreur !

Question/débat (y a-t-il un outil dans R pour faire foo? comment j’apprends bar? ggplot2 ou base plots ?)

Voyons d’abord comment résoudre seul·e ses problèmes.

Demander de l’aide ?

Après des efforts raisonnables.

🔍 Lecture de la documentation ;

🔍 Utilisation d’un moteur de recherche ;

🔍 Expérimentation.

Petite note

Éteindre et rallumer !

Ceci et autres bons conseils plus avancés dans une présentation de Jenny Bryan “Object of type ‘closure’ is not subsettable”.

Éteindre l’ordi, mais pas seulement

Un petit bingo

Moteur de recherche

Selon http://datacarpentry.org/semester-biology/materials/googling-for-help/

  • Bien choisir les mots (Ah ! Si facile…)
  • Pas trop de mots
  • Spécifier R

Évaluer la crédibilité des résultats (site, auteurs, date, scores, etc.)

Résoudre son erreur avec reprex

But : D’un bug dans un script au plus petit exemple possible.

reprex de Jenny Bryan & ses docs

  • Un concept, reprex pour “reproducible example.”

  • Un excellent paquet pour communiquer un reprex.

Pourquoi utiliser reprex ?

  • Le bug isolé est plus facile à résoudre, ou sera résolu en l’isolant !

  • Vous pouvez envoyer votre bug dans un format idéal pour les expert·es !

Démo de reprex !

Canard en caoutchouc sur une cible

Picture by icon0.com on Pexels.

Plus d’infos sur reprex &co

Un peu plus d’outils

Nouvelle démo ! browser()

Chats avec canards en caoutchouc

Picture by Peng Louis on Pexels.

Plus de ressources de débogage

😉

Plus de ressources de débogage

💣 “debugging” dans Advanced R de Hadley Wickham

💣 Webinaire “Debugging techniques in RStudio” par Amanda Gadrow

Et si on n’y arrive pas ?

Laisser tomber 😭 ou demander de l’aide !

Pompiers

Picture by Pixabay on Pexels.

Où demander de l’aide ?

Le bon endroit dépend de

  • votre confiance en vous ;

  • votre question.

Personne s'apprêtant à choisir qui appeler avec son téléphone portable

Picture by Sound On on Pexels.

Endroits les plus rassurants

Vos collègues et ami·e·s

Endroits publics de Q&As 1/2

Twitter #rstats. Questions courtes ou lien vers questions plus longues.

Personne assise sur un fauteuil roulant devant son ordi

Picture by Marcus Aurelius on Pexels.

Endroits publics de Q&A 2/2

Paquets. Où ouvrir un ticket sur un bug ? Regarder dans la doc et dans un moteur de recherche.

Stack Overflow. Seulement pour des bugs, questions courtes.

Téléphone portable sur l'écran duquel est écrit 'error'

Picture by Polina Zimmerman on Pexels.

Où demander de l’aide ?

On peut devoir essayer plusieurs fois.

Personne se tenant la tête devant son ordi

Picture by Yan Krukov on Pexels.

Conclusion

Merci !

À Mickaël Canouil, à vous toutes et tous !

Un petit résumé avant vos questions.

Thank you

Picture by Ann H on Pexels.

Du progrès, pas de la pression

Apprendre régulièrement, adopter reprex petit à petit…

Personne assise dans un parc heureuse avec ordinateur sur les genoux

Picture by Andrea Piacquadio on Pexels.

Aider les autres

  • Développeur·se·s, écrivez de bons NEWS.md, communiquez bien.

  • Partagez les informations qui vous sont utiles !

  • Répondez aux questions des autres. En plus ça vous aide vous-même !

Personne aidant une autre personne à l'ordinateur

Picture by Armin Rimoldi on Pexels.

🔗 https://rug-lille-maelle.netlify.app/

Pour augmenter sa rrrésilience…

  • Mettre ses installations à jour (ou pas), se tenir au courant dans la mesure du possible;

  • Apprendre à mieux résoudre ses soucis, savoir demander de l’aide.

Panneau sur lequel est écrit questions, et réponses en plus grand

Picture by Pixabay on Pexels.