In my first R tutorial, I showed you how to use R as a simple calculator. Now let’s step things up by using R as a graphing calculator. I assume here that you know how to open the R console. If you don’t know how to do that, see the first tutorial.
Plotting a parabola
The way I learn to program is by first having something I want to do, and then by figuring out how to do it. So let’s start with what we want to achieve. We want to plot a simple parabola, defined by the equation y = x2 .
How do we do that?
Our first step will be to see how variables work in R. In the equation for our parabola, we have two variables: x and y.
In R, you can define a variable just like you would in algebra. To define a variable called x that is equal to 5, I type
x = 5 and press enter:
x = 5
If all goes well, nothing will happen. That’s right, R does not tell you when it has successfully stored a variable. (Side note: this is one reason many people use R with an IDE (integrated development environment) like Rstudio. The IDE will show you the variables you have stored.)
To check our variable, we can type
x into the console and press enter. We get back the value we defined:
> x  5
Another note. In addition to using the
= sign to define values, in R you can also use the
<- symbol, which is supposed to represent an arrow going into the variable:
x <- 5
I’m going to be honest; I never use this notation. I find it ugly, and it’s not how other computer languages work. And so I always define variables using the
Back to our parabola, which is defined by the equation y = x2 .
In R, we’ve already defined
x. So let’s now define
y. Type the following into your console and press enter:
y = x^2
Again, if all goes well, R will remain silent. We can check that our y-value is stored correctly by typing
y and pressing enter:
> y  25
Remember that we defined
x = 5. So it seems that
y has the correct value, since 52
What we’ve got right now is a single point on the x-y coordinate plane; the point (x = 5, y = 25). To make our parabola, we need many more points. But how do we do that?
Here’s where ‘vectors’ come in. In R, a ‘vector’ is just a variable that holds multiple values. In other languages, this type of object is called an ‘array’ or a ’list’. But remember that R thinks like a mathematician. And to mathematicians, a list of values is called a ‘vector’.
Here’s how it works. Suppose I want to list all the numbers between 1 and 10. R has a nice notation for achieving this. We use the
: symbol. To list the numbers from 1 to 10, we type
1:10 and press enter:
> 1:10  1 2 3 4 5 6 7 8 9 10
R automatically prints all the integers between 1 and 10. Nice!
I suggest playing around with this feature to get a sense for how it works. For example, you don’t have to start at the number 1. You can start at 5:
> 5:10  5 6 7 8 9 10
And you can go higher (or lower) than 10. Here’s up to 20:
> 5:20  5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Once you’re comfy with this notation, realize that you can use it to define a variable. For example, we can dump the numbers from 1 to 10 into the variable
x = 1:10
Again, if all goes well, R will remain silent. But you can check your variable by typing it into the console:
> x  1 2 3 4 5 6 7 8 9 10
We’re getting closer to our parabola! Now let’s define the variable
y as the square of
y = x^2
Here’s what R has stored for
> y  1 4 9 16 25 36 49 64 81 100
Everything looks good.
The plot function
So far we’ve got a list of values for
y. To get a parabola, we need to plot these values on the x-y coordinate plane. We do that using the
plot function. This function takes x and y values, and plots them on a coordinate plane:
plot( x, y )
Here’s what I get back:
Alright, we’re getting close to our parabola. We just need to pick better values for
x to go from -10 to 10:
x = -10:10
Now let’s use these values to define
y = x^2
And finally, plot the values:
Presto! We’ve got a parabola:
By default, R’s plot function will plot points. But our parabola will look prettier if we use a line. We can do that by telling the plot function to use
type = "l":
plot( x, y, type = "l")
And now we get a very pretty parabola:
If you’ve gotten this far, try plotting a slightly different function.
For example, y = 2 x2 .
First, define the range for your variable
x. The define
y = 2*x^2
Or how about y = x2 - 2:
y = x^2 - 2
Remember that the best way to learn R is to experiment. Happy plotting!