class: center, middle, inverse, title-slide # Fluctuat nec mergitur
How to be a resilient R user ## Maëlle Salmon
masalmon.eu ### 2019/01/10 --- # How to be a resilient R user? Know that feeling? <iframe src="https://giphy.com/embed/ktcUyw6mBlMVa" width="480" height="331" frameBorder="0" class="giphy-embed" allowFullScreen></iframe><p><a href="https://giphy.com/gifs/computer-ron-swanson-parks-and-recreation-ktcUyw6mBlMVa">via GIPHY</a></p> --- # How to be a resilient R user? <blockquote class="twitter-tweet" data-lang="ca"><p lang="en" dir="ltr">My <a href="https://twitter.com/hashtag/rstats?src=hash&ref_src=twsrc%5Etfw">#rstats</a> learning path:<br><br>1. Install R<br>2. Install RStudio<br>3. Google "How do I [THING I WANT TO DO] in R?"<br><br>Repeat step 3 ad infinitum.</p>— Jesse Mostipak (@kierisi) <a href="https://twitter.com/kierisi/status/898534740051062785?ref_src=twsrc%5Etfw">18 d’agost de 2017</a></blockquote> --- # How to be a resilient R user? -- I'll share tips in two categories! -- * 📰 **Keep up to date** with R news... without feeling overwhelmed. -- * ❓ **Ask for help** when needed, in an efficient way, in the right place. -- 🔗 Slidedeck up at [tiny.cc/rladiesparis](https://tiny.cc/rladiesparis) --- # My place in the R community <img src="index_files/figure-html/community2-1.png" width="300" /> * Part-time work at rOpenSci & Locke Data. --- # My place in the R community <img src="index_files/figure-html/community-1.png" width="300" /> * R-Ladies Global social master * R Weekly team member (and blogger myself!) * Volunteer editor for rOpenSci software peer review --- # How to stay informed <iframe src="https://giphy.com/embed/mLelKloa1mrcc" width="480" height="284" frameBorder="0" class="giphy-embed" allowFullScreen></iframe><p><a href="https://giphy.com/gifs/mLelKloa1mrcc">via GIPHY</a></p> --- # Why to stay informed * Solving the problems you didn't know you had * Solving the problems you will have -- By 🛠 learning about tools 🏭 learning about people/organizations --- # Infinite information flows * Twitter \#rstats hashtag, Twitter timeline * GitHub timeline -- My tips * Don't be a completist! * MUTE the spam & what you don't like * Follow accounts useful to you --- # News aggregators * [R mailing lists](https://www.r-project.org/mail.html) -- * [R Weekly](https://rweekly.org/) -- * [rOpenSci biweekly newsletter](https://news.ropensci.org/) -- * [R Bloggers](https://www.r-bloggers.com/) --- # Your news aggregator? RSS feeds of _your_ favorite blogs * [tidyverse.org/articles](https://tidyverse.org/articles) * [ropensci.org/blog](https://ropensci.org/blog) & [ropensci.org/technotes/](https://ropensci.org/technotes/) * [itsalocke.com/blog/](https://itsalocke.com/blog/) * [rtask.thinkr.fr/blog/](https://rtask.thinkr.fr/blog/) * [juliasilge.com/blog/](https://juliasilge.com/blog/) * ... --- # R conferences * satRdays ([Paris February the 23d](https://paris2019.satrdays.org/)) * useR! ([Toulouse, July 9-12](http://www.user2019.fr/)) * RStudio::conf * etc. --- # R conferences Attend or... -- Make the most of what's online! * Read the programs * Read the slidedecks * Watch the videos --- # How to know about R conferences R Weekly conferences section 🚀! -- Examples of conference material available *for free* 💃 * [SatRday Cape Town 2018, slidedecks and recordings](https://capetown2018.satrdays.org/#programme) * [useR! 2018 videos](https://www.youtube.com/channel/UC_R5smHVXRYGhZYDJsnXTwg/videos) * [RStudio conf 2018](https://www.rstudio.com/resources/videos/rstudioconf-2018-talks/) --- # Side-note, if you wanna speak... R-Ladies abstract review system! Thanks Jennifer Thompson! * [submit your abstract for review](https://docs.google.com/forms/d/e/1FAIpQLSck8FBjNWjziI8pPIoCBlf5J4oQ_6pzeUdbQ1HjYfJ2bNDwDw/viewform) * [volunteer as a reviewer](https://docs.google.com/forms/d/e/1FAIpQLSdj44iOqfg6cyhRH57YjQuI-OjbksDmY5LHfsqGSXZrhOONTw/viewform) --- # Other sources of information * Podcasts! [Not So Standard Deviations](http://nssdeviations.com/), [Credibly Curious](https://soundcloud.com/crediblycurious). * RStudio Joseph Rickert's Package Pics https://rviews.rstudio.com/2018/08/27/july-2018-top-40-new-packages/ * Going to meetups 😉 --- # What to do with the information? -- Assess it! * Much like you assess any piece of information * By asking other people, see next section -- For packages there are objective criteria. --- # How to assess packages? -- <blockquote class="twitter-tweet" data-lang="ca"><p lang="en" dir="ltr">If you use software that lacks automated tests, you are the tests.</p>— Jenny Bryan (@JennyBryan) <a href="https://twitter.com/JennyBryan/status/1043307291909316609?ref_src=twsrc%5Etfw">22 de setembre de 2018</a></blockquote> --- # Assessment criteria for packages * How active is its development? * How well tested is it? * How well documented is it? * How popular is it? * Is it developed by a person/org you trust? -- Related to work in https://github.com/ropenscilabs/packagemetrics See also https://simplystatistics.org/2015/11/06/how-i-decide-when-to-trust-an-r-package/ --- # How to assess a package LIVE DEMO -- Links we've seen: https://hadley.shinyapps.io/cran-downloads/ https://github.com/tidyverse/dplyr https://github.com/tidyverse/dplyr/issues/ -- Examples of guidelines for packages: https://ropensci.github.io/dev_guide/ --- # What to do with the information? -- * Use right away in real work? -- * Try it right away? -- * Store the information _somehow_ --- # How to store information * Twitter: favorites as bookmark? http://jsta.rbind.io/blog/making-a-twitter-dashboard-with-r/ * GitHub: https://github.com/maelle?tab=stars --- # How to store information Find your own system! Keep the resources for yourself, or share. 📌 Print cheatsheets, make your own cheatsheets 📌 Create a private/public treasure trove like [Suzan Baert's resources repo](https://github.com/suzanbaert/Resources_and_Bookmarks) [Post by Lise Vaudor in French: "Comment se souvenir de tout"](http://perso.ens-lyon.fr/lise.vaudor/se-souvenir-de-tout/) --- # How to ask for help <iframe src="https://giphy.com/embed/ncs7l6H5Bp996" width="480" height="232" frameBorder="0" class="giphy-embed" allowFullScreen></iframe><p><a href="https://giphy.com/gifs/parks-and-recreation-aubrey-plaza-sometimes-i-make-ncs7l6H5Bp996">via GIPHY</a></p> --- # My typology of R questions * Problem! Bug! Error! -- * Discussion/debate (is there a tool in R for doing `foo`? how do I learn about `bar`? is `ggplot2` better than base plots?) -- We'll tackle errors first. --- # When to ask for help? After a reasonable effort to solve your problem _on your own_. -- 🔍 Read the docs, -- 🔍 Use a search engine (i.e. google your error message!), -- 🔍 Experiment. --- # Googling for help From http://datacarpentry.org/semester-biology/materials/googling-for-help/ * _Get the vocabularly right_ * _Avoid extra words_ * _Specify the language_ And assess results' credibility (site, authors, date, scores, etc.) --- # Experiment, à la RDogLady <div class="figure"> <img src="index_files/figure-html/unnamed-chunk-1-1.png" alt="Trying stuff until it works" width="267" /> <p class="caption">Trying stuff until it works</p> </div> Image by [The Practical Dev](http://twitter.com/thepracticaldev) --- # Experiment, à la RCatLady <div class="figure"> <img src="index_files/figure-html/unnamed-chunk-2-1.png" alt="Changing stuff and seeing what happens" width="267" /> <p class="caption">Changing stuff and seeing what happens</p> </div> Image by [The Practical Dev](http://twitter.com/thepracticaldev) --- # Error solving with `reprex` Goal: from a bug in your big script to the tiniest buggy script possible. -- Jenny Bryan's `reprex` & its docs * A concept, reprex for "reproducible example". * A great package for communicating a reprex. --- # Why use `reprex`? * Tiniest buggy script possible is easier to fix! Or you'll even fix things in the process! * You can send your question/bug report in a good format for helpers! --- # `reprex` demo! <iframe src="https://giphy.com/embed/bXos3M79NkM4U" width="384" height="480" frameBorder="0" class="giphy-embed" allowFullScreen></iframe><p><a href="https://giphy.com/gifs/parks-and-recreation-nbc-rec-bXos3M79NkM4U">via GIPHY</a></p> --- # More info about `reprex` &co * https://resources.rstudio.com/webinars/help-me-help-you-creating-reproducible-examples-jenny-bryan * https://reprex.tidyverse.org/articles/reprex-dos-and-donts.html -- * https://github.com/ropensci/gistr * https://github.com/MilesMcBain/gistfo * https://github.com/yonicd/carbonate --- # Where to ask for help? The right place depends on: * your question * your confidence --- # Safest places * your colleagues or friends -- * R-Ladies * Local slack? * [R-Ladies remote slack](http://eepurl.com/dy1bm1) * [R-Ladies global community slack](https://rladies-community-slack.herokuapp.com/) -- * Slack R francophone https://frama.link/r-grrr -- * [R4DS online community](https://www.rfordatasci.com/) --- # Public Q&As 1/2 * In packages: Bug reports. See package docs, or find their online home. -- * [Stack Overflow](https://stackoverflow.com/). For short questions/bugs/errors only. -- * Mailing lists https://www.r-project.org/mail.html --- # Public Q&A 2/2 * Twitter \#rstats. Short questions, or link to longer questions. -- * [rOpenSci forum](https://discuss.ropensci.org/) -- * [RStudio community forum](https://community.rstudio.com/) --- # Where to ask for help? -- Finding the right place might require some trial and error. 🕵️♀️ -- Further resources * http://communitycalls.ropensci.org/#2017-03-07 * https://masalmon.eu/2018/07/22/wheretogethelp/ --- # Help others with their R problems! * because it's a nice thing to do 😉 * because it's fun (trivia! puzzles!) 🤓 * to keep your knowledge active & learn things 💪 --- # Stay calm, learn how to * 📰 Read the news, * ❓ Ask for help. [tiny.cc/rladiesparis](https://tiny.cc/rladiesparis) Slides created via the R package [**xaringan**](https://github.com/yihui/xaringan) by Yihui Xie with the R-Ladies theme by Alison Presmanes Hill 💜.