# Online learning

A wealth of tutorials, articles, and examples exist to help you learn R and its extensions. Scroll down or click a link below for a curated guide to learning R and its extensions.

# R Programming

There are hundreds of websites that can help you learn R. Here’s how you can use some of the best to become a productive R programmer.

## Start by downloading R and RStudio.

## Learn the basics

Take DataCamp’s free R Tutorial to learn how to write basic R code or visit Try R by Code School. Both sites provide interactive lessons that will get you writing real code in minutes. They are a great place to make mistakes and test out new skills. You are told immediately when you go wrong and given a chance to fix your code.

Or try Leada. Leada gets you programming in your own environment with videos and exercises. The first few courses are free and cover how to install R and RStudio.

## Broaden your skills

Work through The Beginner’s Guide to R by Computerworld Magazine. This 30 page guide will show you how to install R, load data, run analyses, make graphs, and more.

Or try swirl, an R package designed to teach you R straight from the command line. Swirl provides exercises and feedback from within your R session to help you learn in a structured, interactive way.

Or attend an RStudio webinar. These free events teach you how do do useful things in R, and we’re always making more. Our previous webinars are archived into several tracks for your viewing convenience:

Tip: Look at our two-part series on “Working with the RStudio IDE” at DataCamp to master all features of the IDE.

For a more complete education, read R for Data Science by Hadley Wickham and Garrett Grolemund. This book will teach you how to use the most modern parts of R to import, tidy, transform, visualize, and model data, as well as how to communicate findings with R Markdown. R for Data Science is available free online and is full of practical advice.

## Practice good habits

Read the R Style Guide for advice on how to write readable, maintainable code. This is how other R users will expect your code to look when you share it.

## Look up help

When you need to learn more about an R function or package, visit Rdocumentation.org, a searchable database of R documentation. You can search for R packages and functions, look at package download statistics, and leave and read comments about R functions.

If you need a quick reminder about how to wrangle data, make a graph, or do some other common task in R download one of our free R cheat sheets. These make handy reference guides to keep next to your work station.

## Ask questions

Seek help at StackOverflow, a searchable forum of questions and answers about computer programming. StackOverflow has answered (and archived) over 40,000 questions related to R programming.

If you a have question that is more about statistical methodology, there are also plenty of R users active on the the CrossValidated Q&A community.

## Attend a course

If you prefer a structured learning environment, attend one of theses MOOC’s for an excellent introduction to the R language.

- The Johns Hopkins Data Science Specialization on Coursera
- Udacity Exploratory Data Analysis
- Stanford University StatLearning: Statistical Learning
- Statistics.com – Using R

You can arrange a private or onsite course by contacting one of our training partners.

## Keep tabs on the R community

Follow the RStudio blog to hear about our latest features, packages, and workshops. Our blog is a good place to find short tutorials about the packages we make. Follow the RStudio RViews blog for general interest articles about R and the R Community.

Read R bloggers, a blog aggregator that reposts R related articles from across the web. R bloggers is a good place to find R tutorials, announcements, and other random happenings.

## Deepen your expertise

To attain the ultimate R expertise, read Hadley Wickham’s Advanced R Programming book, which is available for free online at the link. Hadley explains in clear prose how R works from a computer science perspective.

Then, when you are ready, read Hadley’s R Packages book to learn how to share your R tools with others. R Packages is also available free online at the link.

Or, take Hadley’s online course “Writing Functions in R” where he teaches you the fundamentals of writing functions in R so you can make your code more readable, avoid coding errors, and automate repetitive tasks.

Got R down? Then give Shiny a try.

# Shiny

Shiny lets you share your results as interactive, eye-catching web apps that are friendly to non-programmers.

# R Markdown

R Markdown is way to write quick attractive reports that use R output. You write the reports in a markdown document, inserting R code where you like it (left).

R then generates a final document that replaces the R code with its results (right).

You can automatically update an R Markdown document whenever your data or R code changes, which creates one of the most reproducible — and efficient — workflows possible. You can use R Markdown to create attractive, fully customizable, HTML, PDF, and MS Word documents as well as Beamer slides.

Visit rmarkdown.rstudio.com to get started using R markdown right away. The site provides a quick tour of the R markdown syntax, as well as in depth articles and examples. Alternatively, you can take RStudio’s online course “Reporting with R Markdown” to get up to speed fast.

# Data Science

For an easy introduction to data science, read R for Data Science by Hadley Wickham and Garrett Grolemund, which is available for free online at the link. Hadley and Garrett explain how data science works in an easy to understand way. They then show the best ways to do data science with a suite of R packages that have become known as the “tidyverse.” These include tidyr, dplyr, ggplot2 and more.

Some great tutorials on about how to use R tools to do data science are:

**RStudio Datacamp Online Track** This is the RStudio & Datacamp track that will cover some RStudio flagship products. Courses include:

- Cleaning data in R which shows you how to make use of tidyr efficiently.
- Data Manipulation in R with dplyr
- Joining Data in R with dplyr
- Data Visualization in R with ggvis or the getting started guide at ggvis.rstudio.com
- Data Visualization with ggplot2

**O’Reilly: Introduction to Data Science with R** by Garrett Grolemund. The online video course with O’Reilly on How to Manipulate, Visualize, and Model Data with the R Language – http://shop.oreilly.com/product/0636920034834.do.

The RStudio repository on github contains all of the tutorial decks that go with the Introduction to Data Science with R by Garrett Grolemund from RStudio – https://github.com/rstudio/Intro/tree/master/slides