This list was originally published as part of the Computerworld Beginner's Guide to R but has since been expanded to also include resources for advanced beginner and intermediate users. If you're just starting out with R, I recommend first heading to the Beginner's Guide PDF download.
Want to see a sortable list of resources by subject and type? Expand the chart below. You can also search for key terms within the chart by using the search box below.
|R Cookbook||general R||book or ebook|
|R Graphics Cookbook||graphics||book or ebook|
|R In Action||general R||book or ebook|
|The Art of R Programming||general R, R programming||book or ebook|
|R for Everyone||general R||book or ebook|
|Advanced Beginner's Guide to R||general R||book or ebook|
|Advanced R||general R, R Programming||book or ebook|
|R for Data Science||general R, R Programming||book or ebook|
|Data Driven Security||general R||book or ebook|
|R in a Nutshell||general R||book or ebook|
|R For Dummies||general R||book or ebook|
|Statistical Analysis with R||general R||book or ebook|
|Introduction to Data Science||data analysis||ebook|
|Teach Yourself R in 24 Hours||general R||book or ebook|
|Statistics and R on Google+||general R||community|
|#rstats hashtag||general R||community|
|R User Meetups||general R||community|
|RStudio Documentation||R programming||documentation|
|CRAN||general R||official R site|
|DataCamp||general R||online interactive class|
|Try R||general R||online interactive class|
|4 data wrangling tasks in R for advanced beginners||general R||online reference|
|Cookbook for R||general R||online reference|
|Quick-R||general R||online reference|
|ggplot2 Code Snippets||graphics-ggplot2||code download|
|Great R packages for data import, wrangling & visualization||general R, R programming||online reference|
|RStudio Cheat Sheets||graphics-ggplot2, general R, RStudio|
|Computerworld ggplot2 Cheat Sheet||graphics-ggplot2||online reference|
|Chart Chooser in R||graphics-ggplot2||online reference|
|R Graph Catalog||graphics-ggplot2||online reference|
|ggplot2 Cheat Sheet||graphics-ggplot2||online reference|
|Mapping in R||geospatial||PDF or video tutorial|
|R Tutorial||general R||online tutorials|
|r4stats.com||general R||online tutorials|
|Getting Started with Charts in R||graphics||online tutorials|
|Producing Simple Graphs with R||graphics||online tutorials|
|Quick Intro to ggplot2||graphics-ggplot2||online tutorials|
|Aggregating and restructuring data||data reshaping||online tutorials|
|Higher Order Functions in R||R programming||online tutorials|
|r4stats.com||general R||online tutorials|
|Introduction to dplyr||general R||online tutorials|
|Applied Time Series Analysis||time series||online tutorials|
|13 resources for time series analysis||time series||online tutorials|
|R Markdon||reproducible research||online tutorials|
|The Undergraduate Guide to R||general R||PDF or Google Doc|
|Little Book of R for Time Series||time series||online tutorials|
|ggplot2 workshop presentation||graphics-ggplot2||online tutorials|
|R Reference Card||general R|
|Introduction to R||general R|
|Handling and Processing Strings in R||text in R|
|R: A Self-learn Tutorial||general R|
|Introduction to ggplot2||graphics-ggplot2|
|Statistics with R Computing and Graphics||general R|
|Short Courses by Hadley Wickham||general R, graphics||R code and slides|
|Introducing R||general R||R code and slides|
|RStudio IDE||R programming||software|
|Revolution R||R programming||software|
|Enterprise Runtime for R||R programming||software|
|Shiny for interactive Web apps||interactive graphics||software|
|R Style Guides||R programming||style guide|
|RStudio Webinars||general R||video tutorials|
|Up and Running with R||general R||video class|
|Computing for Data Analysis||general R||video class|
|Twotorials||general R||video tutorials|
|Google Developers' Intro to R||general R||video tutorials|
|Introduction to Data Science with R||general R, ggplot2||video tutorials|
|Data Analysis and Visualization Using R||general R, statistics||video tutorials|
|UseR! 2016 session videos||general R||videos|
|Programming in R at Dummies.com||general R||website|
|R programming for those coming from other languages||R programming||blog post|
|A brief introduction to 'apply' in R||general R||blog post|
|History of R Financial Time Series Plotting||graphics||blog post|
|Translating between R and SQL||general R||blog post|
|Graphs & Charts in base R, ggplot2 and rCharts||graphics||blog post|
|A First Step Towards R From Spreadsheets||for Excel users||blog post|
|Scraping Pro-Football Data and Interactive Charts using rCharts, ggplot2, and shiny||graphics||blog post|
Books and e-books
R Cookbook. Like the rest of the O'Reilly Cookbook series, this one offers how-to "recipes" for doing lots of different tasks, from the basics of R installation and creating simple data objects to generating probabilities, graphics and linear regressions. It has the added bonus of being well written. If you like learning by example or are seeking a good R reference book, this is well worth adding to your reference library. Caution: with a 2011 publication date, it's missing a lot of developments in the language. By Paul Teetor, a quantitative developer working in the financial sector.
R Graphics Cookbook. If you want to do beyond-the-basics graphics in R, this is a useful resource both for its graphics recipes and brief introduction to ggplot2. While this goes way beyond the graphics capabilities that I need in R, I'd recommend this if you're looking to move beyond advanced-beginner plotting. By Winston Chang, a software engineer at RStudio.
R in Action: Data analysis and graphics with R. This book aims at all levels of users, with sections for beginning, intermediate and advanced R ranging from "Exploring R data structures" to running regressions and conducting factor analyses. The beginner's section may be a bit tough to follow if you haven't had any exposure to R, but it offers a good foundation in data types, imports and reshaping once you've had a bit of experience. There are some particularly useful explanations and examples for aggregating, restructuring and subsetting data, as well as a lot of applied statistics. Note that if your interest in graphics is learning ggplot2, there's relatively little on that here compared with base R graphics. You can see an excerpt from the book online: Aggregation and restructuring data. By Robert I. Kabacoff.
The Art of R Programming. For those who want to move beyond using R "in an ad hoc way ... to develop[ing] software in R." This is best if you're already at least moderately proficient in another programming language. It's a good resource for systematically learning fundamentals such as types of objects, control statements (unlike many R purists, the author doesn't actively discourage for loops), variable scope, classes and debugging -- in fact, there's nearly as large a chapter on debugging as there is on graphics. With some robust examples of solving real-world statistical problems in R. By Norman Matloff.
R in a Nutshell. A reasonably readable guide to R that teaches the language's fundamentals -- syntax, functions, data structures and so on -- as well as how-to statistical and graphics tasks. Useful if you want to start writing robust R programs, as it includes sections on functions, object-oriented programming and high-performance R. By Joseph Adler, a senior data scientist at LinkedIn.
Introduction to Data Science. It's highly readable, packed with useful examples and free -- what more could you want? This e-book isn't technically an "R book," but it uses R for all of its examples as it teaches concepts of data analysis. If you're familiar with that topic you may find some of the explanations rather basic, but there's still a lot of R code for things like analyzing tweet rates (including a helpful section on how to get Twitter OAuth authorization working in R), simple map mashups and basic linear regression. Although Stanton calls this an "electronic textbook," Introduction to Data Science has a conversational style that's pleasantly non-textbook like. There used to be a downloadable PDF, but now the only versions are for OS X or iOS.
R for Everyone. Author Jared P. Lander promises to go over "20% of the functionality needed to accomplish 80% of the work." And in fact, topics that are actually covered, are covered pretty well; but be warned that some items appearing in the table of contents can be a little thin. This is still a well-organized reference, though, with information that beginning and intermediate users might want to know: importing data, generating graphs, grouping and reshaping data, working with basic stats and more.
Advanced Beginner's Guide to R. This 72-page free Computerworld PDF download offers tips on wrangling data, creating interactive maps and visualizing data with ggplot2.
Advanced R. Despite the name, this book is appropriate for anyone at the advanced beginner stage and above -- and also for programmers proficient in another language who want to understand R's somewhat unconventional features. It starts with basics such as data structures and subsetting and goes through more technical details like memory management, profiling and rewriting code in C++ using R's Rcpp package. The book's content is available free on the Web, or there's a paperback version for $56.95 on Amazon. By R guru Hadley Wickham, chief scientist as RStudio and author of ggplot2, dplyr and other popular packages.
Advanced R. The book is coming out in late 2016; meanwhile, content is available on the Web. Learn how to clean data, draw plots and engage in reproducible research, among other skills. By RStudio's Hadley Wickham and Garrett Grolemund.
Data Driven Security . Useful book for security professionals who want to use R for various data analyses, but also worth a read for those outside the security field who want examples of applying R in the real world. Link will take you to the book's website, which has a related blog and podcast. By Jay Jacobs and Bob Rudis.
R For Dummies. I haven't had a chance to read this one, but it's garnered some good reviews on Amazon.com. If you're familiar with the Dummies series and have found them helpful in the past, you might want to check this one out. You can get a taste of the authors' style in dummies.com posts such as How to construct vectors in R and How to use the apply family of functions in R. By Joris Meys and Andrie de Vries.
Statistical Analysis With R: Beginner's Guide. This book has you "pretend" you're a strategist for an ancient Chinese kingdom analyzing military strategies with R. If you find that idea hokey, move along to see another resource; if not, you'll get a beginner-level introduction to various tasks in R, including tasks you don't always see in an intro text, such as multiple linear regressions and forecasting. Note: My early e-version had a considerable amount of bad spaces in my Kindle app, but it was still certainly readable and usable.
Sams Tech Yourself R in 24 Hours. Exactly an hour for each lesson might be questionable here, but this guide written by three Mango Solutions consultants offers instruction on quite a wide range of R topics, from basic data structures and visualizations through writing your own R classes. A solid overview.
4 data wrangling tasks in R for advanced beginners. This follow-up to our Beginner's Guide outlines how to do several specific data tasks in R: add columns to an existing data frame, get summaries, sort results and reshape data. With sample code and explanations. Also available as a PDF download.
Cookbook for R. Not to be confused with the R Cookbook book mentioned above, this website by software engineer Winston Chang (author of the R Graphics Cookbook) offers how-to's for tasks such as data input and output, statistical analysis and creating graphs. It's got a similar format to an O'Reilly Cookbook; and while not as complete, can be helpful for answering some "How do I do that?" questions.
Quick-R. This site has a fair amount of samples and brief explanations grouped by major category and then specific items. For example, you'd head to "Stats" and then "Frequencies and crosstabs" to get an explainer of the table() function. This ranges from basics (including useful how-to's for customizing R startup) through beyond-beginner statistics (matrix algebra, anyone?) and graphics. By Robert I. Kabacoff, author of R in Action.
RStudio Cheat Sheets. These useful and free PDF downloads chock are full of command hints, examples and more. Topics include ggplot2, Shiny and the RStudio IDE.
R Reference Card. If you want help remembering function names and formats for various tasks, this 4-page PDF is quite useful despite its age (2004) and the fact that a link to what's supposed to be the latest version no longer works. By Tom Short, an engineer at the Electric Power Research Institute.
Great R packages for data import, wrangling & visualization. Searchable, sortable chart with some of my favorite add-on packages.
Computerworld ggplot2 Cheat Sheet. My ggplot2 cheat sheet as a sortable table, searchable by task.
ggplot2 Code Snippets. Save time with these snippets for RStudio that offer ready-to-use, fill-in-the-placeholder code for tasks ranging from simply adding and styling graph headlines and axis labels to writing complete code for plots that can be tedious to re-create line by line. Free Computerworld Insider registration required for this companion to the Computerworld ggplot2 cheat sheet.
Chart Chooser in R. This has numerous examples of R visualizations and sample code to go with them, including bar, column, stacked bar & column, bubble charts and more. It also breaks down the visualizations by categories like comparison, distribution and trend. By Greg Lamp, based on Juice Labs' Chart Chooser for Excel and PowerPoint.
R Graph Catalog. Lots of graph and other plot examples, easily searchable and each with downloadable code. All are made with ggplot2 based on visualization ideas in Creating More Effective Graphs. Maintained by Joanna Zhao and Jennifer Bryan.
Beautiful Plotting in R: A ggplot2 Cheatsheet. Easy to read with a lot of useful information, from starting with default plots to customizing title, axes, legends; creating multi-panel plots and more. By Zev Ross.
Creating Maps in R. This excellent tutorial by Robin Lovelace will do a lot to demystify spatial concepts in R and open you to the possibilities of doing some GIS within R. Also see the Spatial Cheat Sheet By Barry Stephen Rowlingson at Lancaster University in the U.K., which outlines some key functions and packages for working with spatial data., and my Create maps in R in 10 (fairly) easy steps.
Twotorials. You'll either enjoy these snappy 2-minute "twotorial" videos or find them, oh, corny or over the top. I think they're both informative and fun, a welcome antidote to the typically dry how-to's you often find in statistical programming. Analyst Anthony Damico takes on R in 2-minute chunks, from "how to create a variable with R" to "how to plot residuals from a regression in R;" he also tackles an occasional problem such as "how to calculate your ten, fifteen, or twenty thousandth day on earth with R." I'd strongly recommend giving this a look if textbook-style instruction leaves you cold.
Google Developers' Intro to R. This series of 21 short YouTube videos includes some basic R concepts, a few lessons on reshaping data and some info on loops. In addition, six videos focus on a topic that's often missing in R intros: working with and writing your own functions. The YouTube playlist offers a good programmer's introduction to the language -- just note that if you're looking to learn more about visualizations with R, that's not one of the topics covered.
RStudio Webinars. These live sessions are also archived for any-time, on-demand access, with a focus on everything from basic R to reproducible research, as well as RStudio and Shiny.
Up and Running with R. This lynda.com video class covers the basics of topics such as using the R environment, reading in data, creating charts and calculating statistics. The curriculum is limited, but presenter Barton Poulson tries to explain what he's doing and why, not simply run commands. He also has a more in-depth 6-hour class, R Statistics Essential Training. Lynda.com is a subscription service that starts at $25/month, but several of the videos are available free for you to view and see if you like the instruction style, and there's a 7-day free trial available.
Coursera - Computing for Data Analysis. Coursera's free online classes are time-sensitive: You've got to enroll while they're taking place or you're out of luck. However, if there's no session starting soon, instructor Roger Peng, associate professor of biostatistics at Johns Hopkins University, posted his lectures on YouTube; Revolution Analytics then collected them on a handy single page. While I found some of these a bit difficult to follow at times, they are packed with information, and you may find them useful.
Introduction to Data Science with R. At $160 this O'Reilly training course is somewhat pricey considering how many free and lower-cost video classes there are out there. However, if you're looking for a step-by-step intro to R, this is a useful course, starting with language and ggplot2 visualization basics through modeling. It's taught by RStudio Master Instructor Garrett Grolemund, who focuses on hands-on learning as well as explaining a few of the language's quirks. If cost is an issue and you're not in a hurry, sign up for O'Reilly's deal emails and you may eventually find a 50% off sale.
Data Analysis and Visualization Using R. Free course that uses both video and interactive R to teach language basics, ggplot2 visualization basics, some statistical tests and exploratory data analysis including data.table. Videos by Princeton Ph.D. student David Robinson and Neo Christopher Chung, Ph.D, filmed and edited at the Princeton Broadcast Center.
UserR! 2016 Session Videos. Some are more an overview of the state of R, but there are also presentations on data import, notebooks, profiling tools to speed R code performance and more.
Other online introductions and tutorials
DataCamp. This site features video courses that include interactive code tests after each section. The code portions can be a bit frustrating at times -- there can be more than one way to accomplish something in R, but if you don't submit exactly what the system expects, you'll be graded wrong -- but there are some useful things here that are tough to find elsewhere, such as a complete course on using the data.table package. Most course intros are free to start, but premium courses (which are most of them) require paid membership of $25/month or $250/year.
Try R, This beginner-level interactive online course will probably seem somewhat basic for anyone who has experience in another programming language. However, even if the focus on pirates and plunder doesn't appeal to you, it may be a good way to get some practice and get more comfortable using R syntax.
An Introduction to R. Let's not forget the R Project site itself, which has numerous resources on the language including this intro. The style here is somewhat dry, but you'll know you're getting accurate, up-to-date information from the R Core Team.
Handling and Processing Strings in R. This PDF download covers many things you're want to do with text, from string lengths and formatting to search and replace with regular expressions to basic text analysis. By statistician Gaston Sanchez.
R Tutorial. A reasonably robust beginning guide that includes sections on data types, probability and plots as well as sections focused on statistical topics such as linear regression, confidence intervals and p-values. By Kelly Black, associate professor at Clarkson University.
r4stats.com. This site is probably best known in the R community for author Bob Muenchen's tracking of R's popularity vs. other statistical software. However, in the Examples section, he's got some R tutorials such as basic graphics and graphics with ggplot2. He's also posted code for tasks such as data import and extracting portions of your data comparing R with alternatives such as SAS and SPSS.
Aggregating and restructuring data. This excerpt from R in Action goes over one of the most important subjects in using R: reshaping your data so it's in the format needed for analysis and then grouping and summarizing that data by factors. In addition to touching on base-R functions like the useful-but-not-always-well-known aggregate(), it also covers melt() and cast() with the reshape package. By Robert I. Kabacoff.
Getting started with charts in R. From the popular FlowingData visualization website run by Nathan Yau, this tutorial offers examples of basic plotting in R. Includes downloadable source code. (While many FlowingData tutorials now require a paid membership to the site, as of October 2016 this one did not.)
Producing Simple Graphs with R. This gives a few more details and examples for several of the visualization concepts touched on in our beginner's guide, using base R. By Frank McCown at Harding University.
Short courses. Materials from various courses taught by Hadley Wickham. Features slides and code for topics beyond beginning R, such as R development master class.
Quick introduction to ggplot2. Very nice, readable and -- as promised -- quick introduction to the ggplot2 add-on graphic package in R, incuding lots of sample plots and code. By Google engineer Edwin Chen.
ggplot2 workshop presentation. This robust, single-but-very-long-page tutorial offers a detailed yet readable introduction to the ggplot2 graphing package. What sets this apart is its attention to its theoretical underpinnings while also offering useful, concrete examples. From a presentation at the Advances in Visual Methods for Linguistics conference. By Josef Fruehwald, then a PhD candidate at the University of Pennsylvania.
The Undergraduate Guide to R. This is a highly readable, painless introduction to R that starts with installation and the command environment and goes through data types, input and output, writing your own functions and programming tips. Viewable as a Google Doc or downloadable as a PDF, plus accompanying files. By Trevor Martin, then at Princeton University, funded in part by an NIH grant.
Higher Order Functions in R. If you're at the point where you want to apply functions on multiple vectors and data frames, you may start bumping up against the limits of R's apply family. This post goes over 6 extremely useful base R functions with readable explanations and helpful examples. By John Mules White, "soon-to-be scientist at Facebook."
Introduction to dplyr. The dplyr package (by ggplot2 creator Hadley Wickham) significantly speeds up operations like grouping and sorting of data frames. It also aims to rationalize such functions by using a common syntax. In this short introductory vignette, you'll learn about "five basic data manipulation" -- filter(), arrange(), select(), mutate() and summarise() -- including examples, as well as how to chain them together for more streamlined, readable code. Other useful packages for manipulating data in R: data.table and doBy.
Applied Time Series Analysis. Text-based online class from Penn State "to learn and apply statistical methods for the analysis of data that have been observed over time." Access to the articles is free, although there is no community or instructor participation.
13 resources for time series analysis. A video and 12 slide presentations by Rob J. Hyndman, author of Forecasting time series using R. Also has links to exercises and answers to the exercises.
R Markdown. R Markdown is a format to help generate reports, presentations and "dynamic documents" from R. Output formats include HTML, World, HTML slides and more. Also see info on R Notebooks, as of October 2016 available in RStudio preview release.
More free downloads and websites from academia:
Introducing R. Slide presentation from the UCLA Institute for Digital Research and Education, with downloadable data and code.
R: A self-learn tutorial. Intro PDF from National Center for Ecological Analysis and Synthesis at UC Santa Barbara. While a bit dry, it goes over a lot of fundamentals and includes exercises.
Statistics with R Computing and Graphics. Unlike many PDF downloads from academia, this one is both short (15 pages) and basic, with some suggested informal exercises as well as explanations on things like getting data into R and statistical modeling (understanding statistical concepts like linear modeling is assumed). By Kjell Konis, then at the University of Oxford.
Little Book of R for Time Series. This is extremely useful if you want to use R for analyzing data collected over time, and also has some introductory sections for general R use even if you're not doing time series. By Avril Coghlan at the Wellcome Trust Sanger Instituie, Cambridge, U.K.
Introduction to ggplot2. 11-page PDF with some ggplot basics, by N. Matloff at UC Davis.
Pretty much every social media platform has an R group. I'd particularly recommend:
Statistics and R on Google+. Community members are knowledgeable and helpful, and various conversation threads engage both newbies and experts.
Twitter #rstats hashtag. Level of discourse here ranges from beginner to extremely advanced, with a lot of useful R resources and commentary getting posted.
Stackoverflow has a very active R community where people ask and answer coding questions. If you've got a specific coding challenge, it's definitely worth searching here to see if someone else has already asked about something similar.
Blogs & blog posts
R-bloggers. This site aggregates posts and tutorials from more than 250 R blogs. While both skill level and quality can vary, this is a great place to find interesting posts about R -- especially if you look at the "top articles of the week" box on the home page.
Revolutions. There's plenty here of interest to all levels of R users. Although author Revolution Analytics (now part of Microsoft) is in the business of selling enterprise-class R platforms, the blog is not focused exclusively on their products.
Post: R programming for those coming from other languages. If you're an experienced programmer trying to learn R, you'll probably find some useful tips here.
Post: A brief introduction to 'apply' in R. If you want to learn how the apply() function family works, this is a good primer.
Translating between R and SQL. If you're more experienced (and comfortable) with SQL than R, it can be frustrating and confusing at times to figure out how to do basic data tasks such as subsetting your data. Statistics consultant Patrick Burns shows how to do common data slicing in both SQL and R, making it easier for experienced database users to add R to their toolkit.
Graphs & Charts in base R, ggplot2 and rCharts. There are lots of sample charts with code here, showing how to do similar visualization tasks with basic R, the ggplot2 add-on package and rCharts for interactive HTML visualizations.
Scraping Pro-Football Data and Interactive Charts using rCharts, ggplot2, and shiny. This is a highly useful example of beginning-to-end data analysis with R. You'll see a sample of how to scrape data off a website, clean and restructure the data and then visualize it in several ways, including interactive Web graphics -- all with downloadable code. By Vivek Patil, an associate professor at Gonzaga University.
Searching for "R" on a general search engine like Google can be somewhat frustrating, given how many utterly unrelated English words include the letter r. Some search possibilities:
RSeek is a Web search engine that just returns results from certain R-focused websites.
MetaCRAN. Browse and search the thousands of R packages available on the CRAN repository.
RDocumentation. With more than 9,000 R packages on CRAN and many more on GitHub and BioConductor, it can be hard to know what packages are out there or remember which packages have what functions. This website allows you to search for packages or functions across all three platforms. By DataCamp.
Google's R Style Guide. Want to write neat code with a consistent style? You'll probably want a style guide; and Google has helpfully posted their internal R style for all to use. If that one doesn't work for you, Hadley Wickham has a fairly abbreviated R style guide based on Google's but "with a few tweaks."
RStudio documentation. If you're using RStudio, it's worth taking a look at parts of the documentation at some point so you can take advantage of all it has to offer.
History of R Financial Time Series Plotting. Although, as the name implies, this focuses on financial time-series graphics, it's also a useful look at various options for plotting any data over time. With lots of code samples along with graphics. By Timely Portfolio on GitHub.
Comprehensive R Archive Network (CRAN). The most important of all: home of the R Project for Statistical Computing, including downloading the basic R platform, FAQs and tutorials as well as thousands of add-on packages. Also features detailed documentation and a number of links to more resources. MetaCRAN is an unofficial but friendlier version for searching packages.
Tibco. This software company recently released a free Tibco Enterprise Runtime for R Developers Edition to go along with its commercial Tibco Enterprise Runtime for R engine aimed at helping to integrate R analysis into other enterprise platforms.
Shiny for interactive Web apps. This open-source project from RStudio is aimed at creating interactive Web applications from R analysis and graphics. There's a Shiny tutorial at the RStudio site; to see more examples, Show Me Shiny offers a gallery of apps with links to code.
Swirl. This R package for interactive learning teaches basic statistics and R together.
This article was originally published as part of the Computerworld Beginner's Guide to R , which was written by Sharon Machlis and edited by Johanna Ambrosio.