Basics of R
Exercices values
Find the solution to these exercises without using R.
Exercise 1: Write the output.
cent <- 100
cent <- 50
cent
Answer
50
Exercise 2: Write the output.
name <- 100
name + 50
Answer
150
Exercise 3: Write the output.
hello <- 6
Hello <- 4
hello
Answer
6
Exercise 4: Write the output.
one <- 5
two <- 6
three <- 1
one + two - three
Answer
10
Exercise 5: Write the output.
LOL <- 100
Lol <- 30
lol
Answer
Error: object ‘lol’ not found
Exercise 6: Write the output.
trump <- "Biden"
trump
Answer
“Biden”
Exercise 7: Write the output in the console.
"SPAIN" == "Spain"
"FRANCE" == "FRANCE"
Answer
FALSE TRUE
Exercise 8: Write the output.
class(TRUE)
Answer
“logical”
Exercise 9: Write the output.
"TRUE" == "FALSE"
Answer
FALSE
Exercise 10: Write the output.
"TRUE" == "true"
Answer
FALSE
Exercices vectors
Find the solution to these exercises without using R.
Exercise 1: Write the output.
4:8
Answer
4 5 6 7 8
Exercise 2: Write the output.
length(2:9)
Answer
8
Exercise 3: Write the output.
3 * c(3, 4)
Answer
9 12
Exercise 4: Write the output.
w <- 5
W <- 3
vector <- c(w, W, 1, w)
vector
Answer
5 3 1 5
Exercise 5: Write the output.
c(30, 40, 50, 60, 70) / 10
Answer
3 4 5 6 7
Exercise 6: Write the output.
c(3, 5, 8:10) - 1:5
Answer
2 3 5 5 5
Exercise 7: Write the output.
first <- c(30, 40, 50, 60, 70)
second <- c(3, 4, 5, 6, 7)
first / second
Answer
10 10 10 10 10
Exercise 8: Write the output.
e <- 2
c(6, 4, 2) / c(e, e, e)
Answer
3 2 1
Exercise 9: Write the output.
c("Argentina", "Brazil", "Peru") / 3
Answer
A character vector cannot be divided by a number!!!
Exercise 10: Write the output.
class(c("FALSE", "FALSE", "TRUE"))
Answer
“character”
Exercise 11: Write the output.
age <- c(24, 40, 85, 12, 59)
age == 50
Answer
FALSE FALSE FALSE FALSE FALSE
Exercise 12: Write the output.
as.Date("2021/02/23") - as.Date("2021/02/21")
Answer
Time difference of 2 days
Exercise 13: Write the output.
classes <- c(class("D"), class(1), class(TRUE))
classes
Answer
“character” “numeric” “logical”
Exercise 14: Write the output.
classes <- c(class("D"), class(1), class(TRUE))
class(classes)
Answer
“character”
Exercise 15: Write the output.
c(1) == 1
Answer
TRUE
Exercise 16: Solve the problem.
c(4, 6, 7, 8
Answer
it lacks the last parenthesis )
Exercise 17: Solve the problem.
c(TRUE, FALSE TRUE)
Answer
it lacks a comma between the second and the third value.
Exercise 18: Solve the problem.
c("France", "Spain", "UK)
Answer
it lacks the )
after the UK
.
Exercise 19: Solve the problem.
as.factor("France", "Spain", "UK")
Answer
a character vector must be marked with c()
Exercises dataframe
Exercise 1: Write the output (only the value(s)).
holi <- tibble(n = 1:5, v = 6 - 1:5)
holi[1,2]
Answer
5
Exercise 2: Write the output (only the value(s)).
holi <- tibble(n = 1:5, v = 6 - 1:5)
holi[2, "n"]
Answer
2
Exercise 3: Write the output (only the value(s)).
holi <- tibble(n = 1:5, v = 6 - 1:5)
holi[3, "v"]
Answer
3
Exercise 4: Write the output (only the value(s)).
holi <- tibble(n = 1:5, v = 6 - 1:5)
holi$v[5]
Answer
1
Exercise 5: Write the output.
holi <- tibble(n = 1:5, v = 6 - 1:5)
holi$n == 1
Answer
TRUE FALSE FALSE FALSE FALSE
Exercise 6: Write the output.
holi <- tibble(n = 1:5, v = 6 - 1:5)
holi$v == 1
Answer
TRUE FALSE FALSE FALSE FALSE
Exercise 7: Write the output.
holi <- tibble(n = 1:5, v = 5 - 1:5)
dim(holi)
Answer
5 2
Exercise 8: Solve the problem.
tibble(country = c("Germany", "Argentina", "China"),
lifeexp = c(81.2, 76.2, 73.1)
Answer
it lacks the last parenthesis )
Exercise 2: Solve the problems.
country <- c("Germany". "Argentina", "China"),
lifeexp <- c(81.2, 76.2, 73.1)
tibble(country, lifexp)
Answer
a point separates Germany and Argentina
the comma at the end of the first line should be removed
in the last row, it lacks an ‘e’ in lifexp
Exercises selection
Exercise 1: Write the output.
c(TRUE, FALSE, TRUE)[2]
Answer
FALSE
Exercise 2: Write the output.
numbers <- c(10,6,12,17,5)
numbers[3,5]
Answer
12 5
Exercise 3: Write the output.
numbers <- c(3,22,4,23,5)
numbers[2:3]
Answer
22 4
Exercise 4: Which rows and columns do we select?
dataframe[c(1,4), ]
Answer
1st and 4th row, all columns
Exercise 5: Which rows and columns do we select?
dataframe[ ,"country"]
Answer
All rows, the column named “country”
Exercise 6: Which rows and columns do we select?
dataframe[country == "Argentina", ]
Answer
The rows that have Argentina in the country vector.
Exercises functions
Exercise 1: Write the output.
hello <- function(x) {x + x}
hello(3)
hello(x = 6)
Answer
6 12
Exercise 2: Write the output.
aa <- function(hello = 4) {hello + 1}
aa()
Answer
5
Exercise 3: Write the output.
bb <- function(hello, bye = 0) {hello + bye}
bb(hello = 3)
Answer
3
Exercise 4: Write the output.
cc <- function(hello, bye = 0) {hello + bye}
cc(3, 3)
Answer
6
Exercise 5: Write the output.
dd <- function(x, y) {x * y}
dd(1, 3)
Answer
3
Exercise 6: Write the output.
ee <- function(x, y = 1) {x * y}
ee(1)
Answer
1
Exercise 7: Write the output.
numbers <- c(3.55, 4.99, 5.62)
round(numbers)
Answer
4 5 6
Exercise 8: Write the output.
max(c(3.55, 4.99, 5.62))
Answer
5.62
Exercise 9: Write the output.
max(sum(c(3.5, 6.5)))
sum(max(c(3.5, 6.5)))
Answer
10 6.5
Exercise 10: Solve the problem.
round(sum(vector)
Answer
it lacks the last parenthesis )
Exercise 11: Write the output in the console.
char <- c("C", "B", "A", "B", "B", "A")
unique(char)
Answer
C B A
Exercise 12: Write the output in the console.
char <- c("C", "B", "A", "B", "B", "A")
sort(unique(char))
Answer
A B C
Exercise 13: Write the output.
as.numeric(c(FALSE, TRUE))
Answer
0 1
Exercise 14: Write the output.
as.integer(6.2)
Answer
6
Exercise 15: Write the output.
as.integer(factor(c("Argentina", "Zambia", "Congo")))
Answer
1 3 2
Exercises coercion
Exercise 1: Write the output.
c(TRUE, 4)
Answer
1 4
Exercise 2: Is this producing a character, numeric or logical vector?
c(TRUE, 4)
Answer
numeric vector
Exercise 3: What is the output of the following code?
c(FALSE, "One", 2)
Answer
“FALSE” “One” “2”
Exercise 4: Does this produce a character, numeric or logical vector?
c(FALSE, "One", 2)
Answer
character vector
Exercise 5: Write the output.
end <- c(5, 9, 3)
as.numeric(end > 6)
Answer
0 1 0