In this lab you can use the interactive console to explore or Knit the document. Remember anything you type here can be “sent” to the console with Cmd-Enter (OS-X) or Ctrl-Enter (Windows/Linux) in an R code chunk.
Create a new object called my.num
that contains 6
numbers.
# General format
my.num <- c(number1, number2, ...)
my.num <- c(5, 4, 7, 8, 12, 14) # These can be any real numbers
Multiply my.num
by 4.
my.num * 4
## [1] 20 16 28 32 48 56
Create a second object called my.char
that contains 5
character strings.
# General format
my.char <- c("character1", "character2", ...)
my.char <- c("banana", "garlic", "pickles", "hot chocolate", "7-Up") # Again,these can be anything
Combine the two objects my.num
and my.char
into an object called both
.
both <- c(my.num, my.char)
What is the length of both
? Use the
length()
function.
length(both)
## [1] 11
What class is both
?
class(both)
## [1] "character"
Divide both
by 3, what happens?
both / 3
## Error in both/3: non-numeric argument to binary operator
Create a vector that contains 4 sets of the numbers 1, 2, 3, and 4.
vec_1 <- c(1, 2, 3, 4)
vec_2 <- c(vec_1, vec_1, vec_1, vec_1)
Create a vector with elements 1, 2, 3, 4, 5 and call it
x
.
# General format
x <- c(...)
x <- c(1, 2, 3, 4, 5)
Create another vector with elements 10, 20, 30, 40, 50 and call it
y
.
# General format
y <- c(...)
y <- c(10, 20, 30, 40, 50)
Determine the length of x
and y
. Next, add
the vectors x and y together.
length(x)
## [1] 5
length(y)
## [1] 5
x + y
## [1] 11 22 33 44 55
# [1] 11 22 33 44 55
Append the value 60 onto the vector y
(hint: you can use
the c()
function).
# General format
y <- c(y, ...)
y <- c(y, 60)
Determine the length of x
and y
.
length(x)
## [1] 5
length(y)
## [1] 6
Add x
and y
together. What happens?
x + y
## Warning in x + y: longer object length is not a multiple of shorter object
## length
## [1] 11 22 33 44 55 61
# [1] 11 22 33 44 55 61
# Warning message:
# In x + y : longer object length is not a multiple of shorter object length
# R "auto replicates" the shorter vector when the vectors aren't the same length - this is not what we want!
# In this case, it reads x as c(1, 2, 3, 4, 5, 1)!
Multiply the following a
and b
together.
How is this similar to the way R performs addition in question 2.6 ?
a <- c(1, 2, 3)
b <- c(10, 100, 1000)
a * b
## [1] 10 200 3000
# R adds together the first element of each vector, then the second, and so on. This order also applies when multiplying!
Create a vector object called int_vect
that starts at 1
and goes up to 10. Use seq()
.
# General format
seq(from = NUMBER, to = NUMBER)
int_vect <- seq(from = 1, to = 10)
int_vect
## [1] 1 2 3 4 5 6 7 8 9 10
Repeat the int_vect
object this sequence 3 times using
rep()
and store the new object as
int_vect_3
.
# General format - times and each are optional
rep(x = OBJECT_TO_REPEAT, times = NUM_TIMES_TO_REPEAT, each = NUM_TIMES_TO_REPEAT_EACH_ELEMENT)
int_vect_3 <- rep(int_vect, times = 3)
int_vect_3
## [1] 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5
## [26] 6 7 8 9 10
What is the length of int_vect_3
?
length(int_vect_3)
## [1] 30
Create a vector that takes the sequence “Strongly Agree”, “Agree”, “Neutral”, “Disagree”, “Strongly Disagree” and repeats each element 10 times.
my_seq <- c("Strongly Agree", "Agree", "Neutral", "Disagree", "Strongly Disagree")
rep(my_seq, each = 10)
## [1] "Strongly Agree" "Strongly Agree" "Strongly Agree"
## [4] "Strongly Agree" "Strongly Agree" "Strongly Agree"
## [7] "Strongly Agree" "Strongly Agree" "Strongly Agree"
## [10] "Strongly Agree" "Agree" "Agree"
## [13] "Agree" "Agree" "Agree"
## [16] "Agree" "Agree" "Agree"
## [19] "Agree" "Agree" "Neutral"
## [22] "Neutral" "Neutral" "Neutral"
## [25] "Neutral" "Neutral" "Neutral"
## [28] "Neutral" "Neutral" "Neutral"
## [31] "Disagree" "Disagree" "Disagree"
## [34] "Disagree" "Disagree" "Disagree"
## [37] "Disagree" "Disagree" "Disagree"
## [40] "Disagree" "Strongly Disagree" "Strongly Disagree"
## [43] "Strongly Disagree" "Strongly Disagree" "Strongly Disagree"
## [46] "Strongly Disagree" "Strongly Disagree" "Strongly Disagree"
## [49] "Strongly Disagree" "Strongly Disagree"
rep(c("Strongly Agree", "Agree", "Neutral", "Disagree", "Strongly Disagree"), each = 10)
## [1] "Strongly Agree" "Strongly Agree" "Strongly Agree"
## [4] "Strongly Agree" "Strongly Agree" "Strongly Agree"
## [7] "Strongly Agree" "Strongly Agree" "Strongly Agree"
## [10] "Strongly Agree" "Agree" "Agree"
## [13] "Agree" "Agree" "Agree"
## [16] "Agree" "Agree" "Agree"
## [19] "Agree" "Agree" "Neutral"
## [22] "Neutral" "Neutral" "Neutral"
## [25] "Neutral" "Neutral" "Neutral"
## [28] "Neutral" "Neutral" "Neutral"
## [31] "Disagree" "Disagree" "Disagree"
## [34] "Disagree" "Disagree" "Disagree"
## [37] "Disagree" "Disagree" "Disagree"
## [40] "Disagree" "Strongly Disagree" "Strongly Disagree"
## [43] "Strongly Disagree" "Strongly Disagree" "Strongly Disagree"
## [46] "Strongly Disagree" "Strongly Disagree" "Strongly Disagree"
## [49] "Strongly Disagree" "Strongly Disagree"
“Strongly Agree”, “Agree”, “Neutral”, “Disagree”, “Strongly Disagree”
are often responses to surveys. Create a randomly sampled vector of 30
survey responses. (hint use sample()
and set the replace
argument to TRUE
). Store the output as
my_responses
. Examine the data by typing the name
my_responses
in the Console.
my_responses <- sample(
x = c("Strongly Agree", "Agree", "Neutral", "Disagree", "Strongly Disagree"),
size = 30,
replace = TRUE
)
my_responses
## [1] "Agree" "Disagree" "Strongly Disagree"
## [4] "Agree" "Agree" "Strongly Agree"
## [7] "Agree" "Agree" "Disagree"
## [10] "Strongly Agree" "Strongly Disagree" "Agree"
## [13] "Strongly Agree" "Neutral" "Strongly Agree"
## [16] "Agree" "Neutral" "Neutral"
## [19] "Neutral" "Agree" "Strongly Disagree"
## [22] "Neutral" "Strongly Disagree" "Agree"
## [25] "Disagree" "Disagree" "Strongly Disagree"
## [28] "Strongly Disagree" "Strongly Agree" "Disagree"
Let’s say you change your survey so participants can rank their
response 1-10 (inclusive). Create a randomly sampled vector of 30 survey
responses. (hint use seq()
and sample()
and
set the replace argument to TRUE
). Store the output as
my_responses_2
. Examine the data by typing the name
my_responses_2
in the Console.
my_responses_2 <- sample(
x = seq(from = 1, to = 10),
size = 30,
replace = TRUE
)