1. FizzBuzz Question
set.seed(1000)
x = sample(1:100,20,replac=TRUE) #a random vector that will serve as input
#function fizz
fizz <- function(n){
#create an empty vector
v <- vector()
#loop over all the elements
for(i in n){
if(as.integer(i)%%3 == 0)
v <- c(v,"Fizz") #fizz if divisible by 3
else
v <- c(v,"")
}
v #return v
}
Q2 Buzz(n)
#fucntion buzz
buzz <- function(n){
#create an empty vector
v <- vector()
#loop over all the elements
for(i in n){
if(as.integer(i)%%5 == 0)
v <- c(v,"Buzz") #buzz if divisible by 5
else
v <- c(v,"")
}
v #return v
}
Q3
#function fizzbuzz
fizzbuzz <- function(n){
#create an empty vector
v <- vector()
#loop over all the elements
for(i in n){
if(as.integer(i)%%3 == 0 & as.integer(i)%%5 == 0)
v <- c(v,"FizzBuzz") #fizzbuzz if divisible by 3 and 5
else if(as.integer(i)%%3 == 0)
v <- c(v,"Fizz") #fizz if divisible by 3
else if(as.integer(i)%%5 == 0)
v <- c(v,"Buzz") #buzz if divisible by 5
else
v <- c(v,"")
}
v #return v
}
fizz(x) #call the function fizz
## [1] "" "" "" "Fizz" "" "" "Fizz" "" "Fizz" ""
## [11] "Fizz" "" "Fizz" "" "" "" "" "" "Fizz" ""
buzz(x) #call the function buzz
## [1] "" "" "" "" "" "" "" "" "" ""
## [11] "Buzz" "" "" "" "" "" "" "Buzz" "" ""
fizzbuzz(x) #call the function fizzbuzz
## [1] "" "" "" "Fizz" "" ""
## [7] "Fizz" "" "Fizz" "" "FizzBuzz" ""
## [13] "Fizz" "" "" "" "" "Buzz"
## [19] "Fizz" ""
Q4
fbr <- function(n, m) {
result <- character()
for (i in seq_along(n)) {
result <- c(result, fizzbuzz(n[i]:m[i]))
}
return(result)
}
# Example usage
result <- fbr(10, 15) # Generate the FizzBuzz sequence from 10 to 15
print(result)
## [1] "Buzz" "" "Fizz" "" "" "FizzBuzz"
Basic Data Structures Question
# 1.
# Set seed for reproducibility
set.seed(1000)
# Create a vector x of 20 integers randomly drawn from all integers between 1 and 100
x <- sample(1:100, 20)
# Display the vector x
cat("Vector x:", x, "\n")
## Vector x: 68 43 86 51 88 29 61 18 22 45 38 33 41 95 26 58 55 93 37 97
2
# 2.
# Create a 20 × 3 matrix y with columns being the output of fizz(x), buzz(x), and fizzbuzz(x)
y <- matrix(NA, nrow = 20, ncol = 3)
# Fill in each column of y with the output of functions
y[, 1] <- sapply(x, fizz)
y[, 2] <- sapply(x, buzz)
y[, 3] <- sapply(x, fizzbuzz)
# Display the matrix y
cat("Matrix y:\n", y, "\n")
## Matrix y:
## Fizz Fizz Fizz Fizz Fizz Buzz Buzz Buzz Fizz Fizz FizzBuzz Fizz Buzz Buzz Fizz
3
# 3.
# Create an empty dataframe data with 20 rows and a single variable data$input
data <- data.frame(input = x)
# Display the dataframe structure
str(data)
## 'data.frame': 20 obs. of 1 variable:
## $ input: int 68 43 86 51 88 29 61 18 22 45 ...
# 4.
# Assign data$input the values from vector x
data$input <- x
# Display the updated dataframe
print(data)
## input
## 1 68
## 2 43
## 3 86
## 4 51
## 5 88
## 6 29
## 7 61
## 8 18
## 9 22
## 10 45
## 11 38
## 12 33
## 13 41
## 14 95
## 15 26
## 16 58
## 17 55
## 18 93
## 19 37
## 20 97
5
# Create variables data$fizz, data$buzz, and data$fizzbuzz as values from corresponding columns from matrix y
data$fizz <- y[, 1]
data$buzz <- y[, 2]
data$fizzbuzz <- y[, 3]
# Display the updated dataframe
print(data)
## input fizz buzz fizzbuzz
## 1 68
## 2 43
## 3 86
## 4 51 Fizz Fizz
## 5 88
## 6 29
## 7 61
## 8 18 Fizz Fizz
## 9 22
## 10 45 Fizz Buzz FizzBuzz
## 11 38
## 12 33 Fizz Fizz
## 13 41
## 14 95 Buzz Buzz
## 15 26
## 16 58
## 17 55 Buzz Buzz
## 18 93 Fizz Fizz
## 19 37
## 20 97
6
# Create variable data$fbr as the output of the fbr() function applied to data$input
data$fbr <- fbr(data$input, data$input)
# Display the updated dataframe
print(data)
## input fizz buzz fizzbuzz fbr
## 1 68
## 2 43
## 3 86
## 4 51 Fizz Fizz Fizz
## 5 88
## 6 29
## 7 61
## 8 18 Fizz Fizz Fizz
## 9 22
## 10 45 Fizz Buzz FizzBuzz FizzBuzz
## 11 38
## 12 33 Fizz Fizz Fizz
## 13 41
## 14 95 Buzz Buzz Buzz
## 15 26
## 16 58
## 17 55 Buzz Buzz Buzz
## 18 93 Fizz Fizz Fizz
## 19 37
## 20 97