Once you’ve gotten started learning R, you can expand your skills by exploring many of the specialized capabilities of R. Here are 6 of the most common areas that people who already have some experience in R find particularly rewarding to learn.
Grab some cheat sheets. No one can possibly remember all the functions and arguments for every R package, which is why cheat sheets were invented. RStudio publishes a free collection of cheat sheets for the most popular R features and packages to help jog your memory. If you decide you’d like to collect them all, you may clone the cheat sheet github repository.
Learn to get help. Everyone gets stuck. Learning where and how to ask for R help is a powerful skill to hone. The Tidyverse site offers some expert advice for how to help others help you. One package you’ll grow to love is the reprex package for creating reproducible R code examples. Read through the reprex articles, which feature loads of animated gifs to illustrate the steps like Magic reprex and Using datapasta with reprex. Where to ask for help? The RStudio Community is a warm and welcoming online discussion forum to ask (and answer!) any questions about using R.
Improve your visualizations. You may already know how to create a basic plot using ggplot2, but can you build one that makes your audience go “Wow?” You can start by expanding your knowledge of the Grammar of Graphics and ggplot2 by reading Hadley Wickham’s (2016) book, ggplot2: Elegant Graphics for Data Analysis. Paper and Kindle versions are available on Amazon for the second edition of the book. The third edition is in-progress and can be viewed for free online, with the source files on GitHub. If you’d like Hadley to personally explain his philosophy of using ggplot2 in his data science work, check out Hadley’s talk from OpenVisConf 2017, The Role of Visualiation in Exploratory Data Analysis. Bookmark the updated R Graphics Cookbook by Winston Chang (2018) too; it is filled with recipes that tackle specific ggplot2 problems.
Develop interactive applications with htmlwidgets and Shiny. One concrete way to communicate your analyses better is to make your visualizations interactive. You can learn how to add browser-based interactivity to your graphics with just a few lines of code at www.htmlwidgets.org. If your interactive needs demand help from R code that needs to run on a server, learn how to write Shiny applications at shiny.rstudio.com, or follow along as Wickham (2020) writes the new Mastering Shiny book. Both approaches can be integrated with R Markdown to create polished interactive dashboards using the flexdashboard package.
Simplify your model explorations with tidymodels. Much of data science involves modeling, but each modeling package seems to invent its own interface and arguments. Enter tidymodels, a meta-package for modeling and analysis that shares the underlying design philosophy, grammar, and data structures of the tidyverse. If you previously have used caret for a uniform modeling interface, the tidymodels package parsnip is its more up-to-date child. While this project is still under development, it promises to dramatically simplify model exploration. RStudio’s Edgar Ruiz wrote up A Gentle Introduction to tidymodels to get you started.
Explore other specialized packages. R attracts data scientists because of its more than 13,000 packages that address nearly every use case. If you’re interested in genomics, you’ll want to spend some time learning the bioconductor collection of packages. If you’re working with Big Data on Spark clusters, check out sparklyr. If you want to dive into finance, you’ll probably want to start with quantmod. To find out what packages you should explore, we recommend some of the topic-based package catalogs such as Awesome R or the CRAN task views.
Books & packages referenced
Bryan, Jennifer, Jim Hester, David Robinson, and Hadley Wickham. 2019. Reprex: Prepare Reproducible Example Code via the Clipboard. https://CRAN.R-project.org/package=reprex.
Chang, Winston. 2018. R Graphics Cookbook: Practical Recipes for Visualizing Data. O’Reilly Media. https://r-graphics.org/.
Chang, Winston, Joe Cheng, JJ Allaire, Yihui Xie, and Jonathan McPherson. 2019. Shiny: Web Application Framework for R. https://CRAN.R-project.org/package=shiny.
Iannone, Richard, JJ Allaire, and Barbara Borges. 2018. Flexdashboard: R Markdown Format for Flexible Dashboards. https://CRAN.R-project.org/package=flexdashboard.
Kuhn, Max, and Davis Vaughan. 2018. Parsnip: A Common Api to Modeling and Analysis Functions. https://CRAN.R-project.org/package=parsnip.
Max, Kuhn, and Hadley Wickham. 2018. Tidymodels: Easily Install and Load the ’Tidymodels’ Packages. https://CRAN.R-project.org/package=tidymodels.
Ryan, Jeffrey A., and Joshua M. Ulrich. 2018. Quantmod: Quantitative Financial Modelling Framework. https://CRAN.R-project.org/package=quantmod.
Wickham, Hadley. 2016. Ggplot2: Elegant Graphics for Data Analysis. Springer. https://ggplot2-book.org/.
———. 2020. Mastering Shiny. O’Reilly Media. https://mastering-shiny.org/.
Wickham, Hadley, Winston Chang, Lionel Henry, Thomas Lin Pedersen, Kohske Takahashi, Claus Wilke, Kara Woo, and Hiroaki Yutani. 2019. Ggplot2: Create Elegant Data Visualisations Using the Grammar of Graphics.