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
Using the rep
and seq
functions, create the following vectors:
v <- seq(from=1, to=8)
v2 <- seq(from=7, to=1)
v3 <- c(v, v2)
print(v3)
## [1] 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1
v4 <- seq(from=1, to=5)
times <- seq(from=1, to=5)
v5 <- rep.int(v4, times)
print(v5)
## [1] 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
v6 <- seq(from=5, to=1)
times <- seq(from=1, to=5)
v7 <- rep.int(v6, times)
print(v7)
## [1] 5 4 4 3 3 3 2 2 2 2 1 1 1 1 1
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).
v <- runif(2)
print(v)
## [1] 0.7449852 0.6347930
r <- sqrt(v[1]^2 + v[2]^2)
print(r)
## [1] 0.9787569
theta = asin(v[2]/r)
print(theta)
## [1] 0.705705
print(paste("Polar coordinate is (",r,",",theta,")"))
## [1] "Polar coordinate is ( 0.978756893022396 , 0.70570502551574 )"
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"
# the serpent arrives and gets in line
queue <- c(queue,"serpent")
print(queue)
## [1] "sheep" "fox" "owl" "ant" "serpent"
# the sheep enters the ark
queue <- queue[ queue != "sheep" ]
print(queue)
## [1] "fox" "owl" "ant" "serpent"
# the donkey arrives and talks his way to the front of the line
queue <- c("donkey", queue)
print(queue)
## [1] "donkey" "fox" "owl" "ant" "serpent"
# the serpent gets impatient and leaves
queue <- queue[ queue != "serpent" ]
print(queue)
## [1] "donkey" "fox" "owl" "ant"
# the owl gets bored and leaves
queue <- queue[ queue != "owl" ]
print(queue)
## [1] "donkey" "fox" "ant"
# the aphid arrives and the ant invites him to cut in line
queue <- append(queue, "aphid", after=2)
print(queue)
## [1] "donkey" "fox" "aphid" "ant"
# determine the position of the aphid in the line
match("aphid", queue)
## [1] 3
Use R to create a vector of all of the integers from 1 to 100 that are not divisible by 2, 3, or 7. You will need one of the arithmetic operators on this cheat sheet.
v <- seq(from=1, to=100)
v <- v[! v %%2==0] # remove values divisible by 2
v <- v[! v %%3==0] # remove values divisible by 3
v <- v[! v %%7==0] # remove values divisible by 7
print(v)
## [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