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(); });