This page is for those **completely new to R programming**.

R code can look like old Egyptian hieroglyphs, with weird operators that do not seem to make sense (`%in%`

,`<-`

, or `%/%`

). The R language has been said to have a steep learning curve and although there are many introductory courses and books (see R Resources), it can be hard to decide where to start.

Fortunately, I am here to help! The below is a seven-step guide in learning R (for free). It’ll have you **writing your own scripts and programs within no time**. Just start at #1 and work your way to coding mastery. Good luck!!!

- Create a directory for your R learning stuff somewhere on your computer. Download this (very) short introduction to R by Paul Torfs and Claudia Bauer and store it in that folder. Now read the introduction and follow the steps. It will help you install all R software on your own computer and familiarize you with the standard data types.
- Many standard functions exist in R and after a while you will remember them by heart. For now, it’s good to have a dictionary or references close by hand. Download and read the cheat sheets for R Base (Mhairi McNeill) and R Base Functions (Tom Short). Because you’ll be writing most of your R scripts in RStudio, it’s also recommended to have an RStudio Cheatsheet as well as an RStudio Keyboard Shortcuts Cheatsheet by hand.
- Now you’re ready to really start learning and we’re going to accelerate via
`swirl()`

. Open up your RStudio and enter the two lines of code below in your console window.install.packages('swirl') #download swirl package library(swirl) #load in swirl package

Swirl (webpage) will automatically start and after a couple of prompts you will be able to choose the learning course called

*1: R Programming: The basics of programming in R*(see below). This course consists of 15 modules via which you will master the basics of R in the environment itself. I suggest you do between one and three modules per day so that you complete this course within a week.

- OK, you should now be familiar with the basics of R. However, knowledge is crystallized via repetition. I therefore suggest, you walk through the book YaRrr! The Pirate’s Guide to R (Phillips, 2017) starting in chapter 3. It’s a fun book and will provide you with more knowledge on how to program custom functions, loops, and some basic statistical modelling techniques – the thing R was actually designed for.
- By now, you can say you might say you are
*an adapt R programmer with statistical modelling experience*. However, you have been working with base R functions mostly, knowledge of which is a must-have to really understand the language. In practice, R programmers rely strongly on developed packages nevertheless. A very useful group of packages is commonly referred to as the tidyverse. You will be amazed at how much this set of packages simplifies working in R. The next step therefore, is to work through the book R for Data Science (Grolemund & Wickham, 2017). - You are now seven steps and a couple of weeks further. You possess a basic knowledge of the R language, know how to write scripts in RStudio, are capable of programming in base R as well as using the advanced functionality of the tidyverse, and you have even made a start with some basic statistical modelling. It’s time to set you loose in the wonderful world of the R community. If you had not done this earlier, you should get accounts on Stack Overflow and Cross Validated. You might also want to subscribe to the R Help Mailing List, R Bloggers, and to my website obviously. On Twitter, have a look at #rstats and, on reddit, subscribe to the rstats, rstudio, and statistics threads. At this time, I can’t but advise you to return to the R Resources Overview and to continue broadening your R programming skills. Pick materials in the area that interests you:
- If you want to become a hardcore
**programmer**, this R programming course may better suit you and you will want to learn Efficient R Programming (Gillespie & Lovelace, 2017). - Relatedly, if you want to become a
**program developer**, building functions and packages, you also want to consider the above resources and simultaneously master Software Development in R (Peng, Kross, & Anderson, 2017). - If you like
**visualization**, look into the R Graph Gallery with code examples and read this practical introduction to ggplot2 (Healy, 2017) and the Hitchhiker’s Guide to ggplot2 in R (Burchell & Vargas, 2016). - Relately, if you like
**interactive visualizations**, you will want to look at the above as well as R Shiny and the HTML Widgets that R offers. - If you want to become a
**data scientist**, focus on machine learning via this course on statistical learning (Hastie & Tibshirani, 2014). If you prefer a shorter, practical introduction, try this Kaggle Competition Titanic walkthrough on Youtube. - If you like
**automation and reporting**, start with the basics of markdown and Regular Expressions. - If you’re more interested in
**text analysis and text mining**, knowledge of Regular Expressions is a must-have and a good additional start would be the book on Tidy Text Mining (Silges & Robinson, 2017).

- If you want to become a hardcore