Home Page

Question 1

Suppose x = 1.1, a = 2.2, and b = 3.3. Assign each expression to the value of the variable z and print the value stored in z.

x <- 1.1
a <- 2.2
b <- 3.3

z <- x^(a^b)
print(z) 
## [1] 3.61714
z <- (x^a)^b
print(z)
## [1] 1.997611
z <- 3*(x^3) + 2*(x^2) + 1
print(z)
## [1] 7.413

Questions 2

Using the rep and seq functions, create the following vectors:
a. (1,2,3,4,5,6,7,8,7,6,5,4,3,2,1)
b. (1,2,2,3,3,3,4,4,4,4,5,5,5,5,5)
c. (5,4,4,3,3,3,2,2,2,2,1,1,1,1,1)

a <- c(seq(1:8),rev(seq(7:1)))
print(a)
##  [1] 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1
b <- seq(1:5)
b <- rep(b,b)
print(b)
##  [1] 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
c <- seq(1:5)
c <- rev(rep(c,c))
print(c)
##  [1] 5 5 5 5 5 4 4 4 4 3 3 3 2 2 1

Question 3

Create a vector of two random uniform numbers. In a spatial map, these can be interpreted as x and y coordinates that give the location of an individual (such as a marked forest tree in a plot that has been mapped). Using one of R’s inverse trigonometry functions (asin(), acos(), or atan()), convert these numbers into polar coordinates (If you don’t know what polar coordinates are, read about them on the web here, here, or in your calculus textbook).

z <- c(runif(2))

r <- sqrt(z[1]^2 + z[2]^2)
t <- atan(z[2]/z[1])
pc <- c(r,t)
print(z[1])
## [1] 0.4498193
print(z[2])
## [1] 0.6261366
print(pc)
## [1] 0.7709633 0.9478249

Question 4

Create a vector queue <- c("sheep", "fox", "owl", "ant") where queue represents the animals that are lined up to enter Noah’s Ark, with the sheep at the front of the line. Using R expressions, update queue as:

queue <- c("sheep", "fox", "owl", "ant")
print(queue)
## [1] "sheep" "fox"   "owl"   "ant"
queue <- c(queue, "serpent")
print(queue)
## [1] "sheep"   "fox"     "owl"     "ant"     "serpent"
queue <- queue[-which(queue == "sheep")]
print(queue)
## [1] "fox"     "owl"     "ant"     "serpent"
queue <- c("donkey",queue)
print(queue)
## [1] "donkey"  "fox"     "owl"     "ant"     "serpent"
queue <- queue[-which(queue == "serpent")]
print(queue)
## [1] "donkey" "fox"    "owl"    "ant"
queue <- queue[-which(queue == "owl")]
queue <- append(queue, "aphid", after = (which(queue == "ant")-1))
print(queue)
## [1] "donkey" "fox"    "aphid"  "ant"
print(which(queue == "aphid"))
## [1] 3

Question 5

Use R to create a vector of all of the integers from 1 to 100 that are not divisible by 2, 3, or 7.

z <- c(seq(1:100))
z <- z[-which(z%%2 == 0)]
z <- z[-which(z%%3 == 0)]
z <- z[-which(z%%7 == 0)]
print(z)
##  [1]  1  5 11 13 17 19 23 25 29 31 37 41 43 47 53 55 59 61 65 67 71 73 79 83 85
## [26] 89 95 97