1. Arithmetic with R

In its most basic form, R can be used as a simple calculator. Consider the following arithmetic operators:

  • Addition: +
  • Subtraction: -
  • Multiplication: *
  • Division: /
  • Exponentiation: ^
  • Modulo: %%

The last two might need some explaining:

  • The ^ operator raises the number to its left to the power of the number to its right. For example:

    3^2 is 9.

  • The modulo returns the remainder of the division of the number to the left by the number on its right. For example:

    5 modulo 3 or 5 %% 3 is 2.

Note how the # symbol is used to add comments on the R code.


# An addition
5 + 5 
## [1] 10
# A subtraction
5 - 5 
## [1] 0
# A multiplication
3 * 5
## [1] 15
 # A division
(5 + 5) / 2 
## [1] 5
# Exponentiation
2^5
## [1] 32
# Modulo
28 %% 6
## [1] 4

1. Variable assignment

A basic concept in (statistical) programming is called a variable.

A variable allows you to store a value (e.g. 4) or an object (e.g. a function description) in R. You can then later use this variable’s name to easily access the value or the object that is stored within this variable.

You can assign a value 4 to a variable my_var with the command:

my_var <- 4


Instructions

Over to you: complete the code in the editor such that it assigns the value 42 to the variable x in the editor. Submit the answer. Notice that when you ask R to print x, the value 42 appears.

# Assign the value 42 to x
x <- 42

# Print out the value of the variable x
x
## [1] 42

Have you noticed that R does not print the value of a variable to the console when you did the assignment?

x <- 42 did not generate any output, because R assumes that you will be needing this variable in the future. Otherwise you wouldn’t have stored the value in a variable in the first place, right?


1.2. Variable assignment(2)

Suppose you have a fruit basket with five apples. As a data analyst in training, you want to store the number of apples in a variable with the name my_apples.


Instructions

Type the following code in the editor:

  • my_apples <- 5. This will assign the value 5 to my_apples.
  • Type: my_apples below the second comment. This will print out the value of my_apples.
  • Submit your answer, and look at the output: you see that the number 5 is printed. So R now links the variable my_apples to the value 5.
# Assign the value 5 to the variable my_apples
my_apples <- 5

# Print out the value of the variable my_apples
my_apples
## [1] 5

1.3. Variable assignment(3)

Every tasty fruit basket needs oranges, so you decide to add six oranges. As a data analyst, your reflex is to immediately create the variable my_oranges and assign the value 6 to it. Next, you want to calculate how many pieces of fruit you have in total. Since you have given meaningful names to these values, you can now code this in a clear way:

my_apples + my_oranges

Instructions

Type the following code in the editor:

  • Assign to my_oranges the value 6.
  • Add the variables my_apples and my_oranges and have R simply print the result.
  • Assign the result of adding my_apples and my_oranges to a new variable my_fruit.
# Assign a value to the variables my_apples and my_oranges
my_apples <- 5

# Add these two variables together
my_oranges <-6

# Add my_apples and my_oranges
my_apples + my_oranges
## [1] 11
# Create the variable my_fruit
my_fruit <- my_apples + my_oranges

# Print out the value of the variable my_fruit
my_fruit
## [1] 11

The great advantage of doing calculations with variables is re usability. If you just change my_apples to equal 12 instead of 5 and rerun the script, my_fruit will automatically update as well.


2. Apples and Oranges

Common knowledge tells you not to add apples and oranges. But hey, that is what you just did, no :-)? The my_apples and my_oranges variables both contained a number in the previous exercise. The + operator works with numeric variables in R.

If you really tried to add “apples” and “oranges”, and assigned a text value to the variable my_oranges (see the editor), you would be trying to assign the addition of a numeric and a character variable to the variable my_fruit. This is NOT possible.


Instructions

  • Submit the answer and read the error message. Make sure to understand why this did not work.

  • Adjust the code so that R knows you have 6 oranges and thus a fruit basket with 11 pieces of fruit.

    • Assign a value to the variable my_apples

      my_apples <- 5

    • Fix the assignment of my_oranges

      my_oranges <- “six”

    • Create the variable my_fruit and print it out

      my_fruit <- my_apples + my_oranges

      my_fruit

There Was An Error In Your Code

Your code cannot be executed due to a syntax error. Check the console for more details.

Error in my_apples + my_oranges : non-numeric argument to binary operator
# Assign a value to the variable my_apples
my_apples <- 5 

# Fix the assignment of my_oranges
my_oranges <- 6 

# Create the variable my_fruit and print it out
my_fruit <- my_apples + my_oranges 
my_fruit
## [1] 11

3. Basic Data Types in R

R works with numerous data types. Some of the most basic types to get started are:

  • Decimal values like 4.5 are called numerics.
  • Whole numbers like 4 are called integers. Integers are also numerics.
  • Boolean values (TRUE or FALSE) are called logical.
  • Text (or string) values are called characters.

Note how the quotation marks in the editor indicate that “some text” is a string.


Instructions

Change the value of the:

  • Change my_numeric to be 42

    my_numeric <- 42.5

  • Change my_character to be “universe”. Note that the quotation marks indicate that “universe” is a character.

    my_character <- “some text”

  • Change my_logical to be FALSE

    my_logical <- TRUE

Note that R is case sensitive!

# Change my_numeric to be 42
my_numeric <- 42

# Change my_character to be "universe"
my_character <- "universe"

# Change my_logical to be FALSE
my_logical <- FALSE

4. What’s that data type?

Do you remember that when you added 5 + “six”, you got an error due to a mismatch in data types? You can avoid such embarrassing situations by checking the data type of a variable beforehand.

You can do this with the class() function, as the code in the editor shows.

# Declare variables of different types
my_numeric <- 42
my_character <- "universe"
my_logical <- FALSE 

# Check class of my_numeric
class(my_numeric)
## [1] "numeric"
# Check class of my_character
class(my_character)
## [1] "character"
# Check class of my_logical
class(my_logical)
## [1] "logical"