How to Start Your First R Session

By Andrie de Vries, Joris Meys

You probably are itching to get started on some real R code. Here, you get to do exactly that. Get ready to get your hands dirty and dive into the programming world!

Saying hello to the world

Programming books typically start with a very simple program. Often, this first program creates the message Hello world!. In R, hello world program consists of one line of code.

Start a new R session, type the following in your console, and press Enter:

> print(“Hello world!”)

R responds immediately with this output:

[1] “Hello world!”

You can collapse input and output into a single block of code, like this:

> print(“Hello world!”)
[1] “Hello world!”

Doing simple math

Type the following in your console to calculate the sum of five numbers:

> 1 + 2 + 3 + 4 + 5
[1] 15

The answer is 15, which you can easily verify for yourself. You may think that there’s an easier way to calculate this value, though — and you’d be right.

Using vectors

A vector is the simplest type of data structure in R. The R manual defines a vector as “a single entity consisting of a collection of things”. A collection of numbers, for example, is a numeric vector — the first five integer numbers form a numeric vector of length 5.

To construct a vector, type into the console:

> c(1, 2, 3, 4, 5)
[1] 1 2 3 4 5

In constructing your vector, you have successfully used a function in R. In programming language, a function is a piece of code that takes some inputs and does something specific with them. In constructing a vector, you tell the c() function to construct a vector with the first five integers. The entries inside the parentheses are referred to as arguments.

You also can construct a vector by using operators. An operator is a symbol you stick between two values to make a calculation. The symbols +, , *, and / are all operators, and they have the same meaning they do in mathematics. Thus, 1+2 in R returns the value 3, just as you’d expect.

One very handy operator is called sequence, and it looks like a colon (:). Type the following in your console:

> 1:5
[1] 1 2 3 4 5

That’s more like it. With three keystrokes, you’ve generated a vector with the values 1 through 5. To calculate the sum of this vector, type into your console:

> sum(1:5)
[1] 15

While quite basic, this example shows you that using vectors allows you to do complex operations with a small amount of code.

Storing and calculating values

Using R as a calculator is very interesting but perhaps not all that useful. A much more useful capability is storing values and then doing calculations on these stored values. Try this:

> x <- 1:5
> x
[1] 1 2 3 4 5

In these two lines of code, you first assign the sequence 1:5 to an object called x. Then you ask R to print the value of x by typing x in the console and pressing Enter.

In R, the assignment operator is <-, which you type in the console by using two keystrokes: the less-than symbol (<) followed by a hyphen (). The combination of these two symbols represents assignment. It’s good practice to always surround the <- with spaces. This makes your code much easier to read and understand.

In addition to retrieving the value of a variable, you can do calculations on that value. Create a second variable called y, and assign it the value 10. Then add the values of x and y, as follows:

> y <- 10
> x + y
[1] 11 12 13 14 15

The values of the two variables themselves don’t change unless you assign a new value to either of them. You can check this by typing the following:

> x
[1] 1 2 3 4 5
> y
[1] 10

Now create a new variable z, assign it the value of x + y, and print its value:

> z <- x + y
> z
[1] 11 12 13 14 15

Variables also can take on text values. You can assign the value Hello to a variable called h, for example, by presenting the text to R inside quotation marks, like this:

> h <- “Hello”
> h
[1] “Hello”

You must enter text or character values to R inside quotation marks — either single or double. R accepts both. So both h <- Hello and h <- Hello are examples of valid R syntax.

You can use the c() function to combine numeric values into vectors. This technique also works for text:

> hw <- c(“Hello”, “world!”)
> hw
[1] “Hello” “world!”

You use the paste() function to concatenate multiple text elements. By default, paste() puts a space between the different elements, like this:

> paste(“Hello”, “world!”)
[1] “Hello world!”

Talking back to the user

You can write R scripts that have some interaction with a user. To ask the user questions, you can use the readline() function. In the following code snippet, you read a value from the keyboard and assign it to the variable yourname:

> h <- “Hello”
> yourname <- readline(“What is your name? “)
What is your name? Andrie
> paste(h, yourname)
[1] “Hello Andrie”

This code seems to be a bit cumbersome, however. Clearly, it would be much better to send these three lines of code simultaneously to R and get them evaluated in one go.