Back to: Introduction to R
One of the most basic ways to use R is as a calculator. We can enter many math functions directly into the R Console. We will start to look at the various ways in which we can use R.
Arithmetic Operators
R can handle most simple types of math operators.
Operator | Description |
---|---|
+ |
Addition |
- |
Subtraction |
* |
Multiplication |
/ |
Division |
^ or ** |
Exponentiation |
For example:
# Addition
5+4
## [1] 9
# Subtraction
124 - 26.82
## [1] 97.18
# Multiplication
5*4
## [1] 20
# Division
35/8
## [1] 4.375
More Math functions.
We can also use many other math functions. All of these are included in base R without any extra packages.
# Exponentials
3^(1/2)
## [1] 1.732051
# Exponential Function
exp(1.5)
## [1] 4.481689
# Log base e
log(4.481689)
## [1] 1.5
# Log base 10
log10(1000)
## [1] 3
On Your Own: Swirl Practice
In order to learn R you must do R. Follow the steps below in your RStudio console:
- Run this command to pick the course:
swirl()
You will be promted to choose a course. Type whatever number is in front of 01 Getting Started. This will then take you to a menu of lessons. For now we will just use lesson 2. Type 2 to choose R as Calculator then follow all the instructions until you are finished.
Once you are finished with the lesson come back to this course and continue.
Logical Operators
Another important feature of R is the ability to use logic. This is not unique to R as all programming languages can do this, but it will be extremely useful when working with data.
Operator | Description |
---|---|
< |
Less Than |
> |
Greater Than |
<= |
Less Than or Equal To |
>= |
Greater Than or Equal To |
== |
Exactly Equal To |
!= |
Not Equal To |
!a |
Not a |
a&b |
a AND b |
We can then see an example of this:
a <- c(1:12)
If we wanted to know where \(a>9\) or where \(a<4\) we would expect to see the values: 1 2 3 10 11 12.
Having R do this
a
## [1] 1 2 3 4 5 6 7 8 9 10 11 12
a>9
## [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE
## [12] TRUE
We can see that what R gives is are Boolean values as to whether or not each element of a
is greater than 9. Similarly:
a<4
## [1] TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE
One simple thing we might try is to just combine these 2 values into a conditional
a>9 | a<4
## [1] TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE
## [12] TRUE
This again just gives us Booleans and not necessarily the values that we were hoping to see. We use this to index a
in the following manner
a[a>9 | a<4]
## [1] 1 2 3 10 11 12
We will look at indexing with much further detail as we move through this course.
On Your Own: Swirl Practice
In order to learn R you must do R. Follow the steps below in your RStudio console:
- Run this command to pick the course:
swirl()
You will be promted to choose a course. Type whatever number is in front of 01 Getting Started. This will then take you to a menu of lessons. For now we will just use lesson 3. Type 3 to choose Logic then follow all the instructions until you are finished.
Once you are finished with the lesson come back to this course and continue.
Further Operators
There are other operators that we will use that are not necesssarily mathematical in nature. Each one of them is crucial for the use of R.
Description | R Symbol | Example |
---|---|---|
Comment | # | # This is a comment |
Assignment | <- |
x <- 5 |
Assignment | -> |
5 -> x |
Assigment | = |
x = 5 |
Concatenation operator | c | c(1,2,4) |
Modular | %% | 25 %% 6 |
Sequence from a to b by h | seq | seq(a,b,h) |
Sequence Operator | : | 0:3 |
Quick Check Practice
# This will get executed each time the exercise gets initialized
b = 6
# Create a variable a, equal to 5
# Do this by typing: a <- 5
# Square a
# Create a variable a, equal to 5
a <- 5
# Square a
a^2
test_object("a")
test_output_contains("25", incorrect_msg = "Make sure to print `a`")
success_msg("Great!")
<-
) to create the variable a
.Math Functions in R
We also have access to a wide variety of mathematical functions that are already built into R.
Description | R Symbol |
---|---|
Square Root | sqrt |
floor(x) |
floor |
\ceil(x) |
ceiling |
Logarithm | log |
Exponential function, e^x |
exp |
Factorial, ! |
factorial |
Quick Check Practice
b <- NA
# Create a variable b, equal to 4
# What is the log of b?
# what is the exponential of the log of b?
# Create a variable b, equal to 4
b <- 4
# What is the log of b?
log(b)
# what is the exponential of the log of b?
exp(log(b))
test_object("b")
test_function("log", args = "x")
test_function("exp", args="x")
test_output_contains("1.386", incorrect_msg = "Did you take the logarithm of b?")
test_output_contains("4", incorrect_msg = "Did you take the exponential of the logarithm of b?")
test_error()
success_msg("Great job!")
<-
) to create the variable a
.
// add bootstrap table styles to pandoc tables function bootstrapStylePandocTables() { $('tr.header').parent('thead').parent('table').addClass('table table-condensed'); } $(document).ready(function () { bootstrapStylePandocTables(); });