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.
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.
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 lets you share your results as interactive, eye-catching web apps that are friendly to non-programmers.