If a vector in R is created with elements of different data types, R will coerce the elements to the most flexible type, which is ______.

  • character
  • numeric
  • logical
  • integer
If a vector in R is created with elements of different data types, R will coerce the elements to the most flexible type, which is the character data type. The character type is considered the most flexible because it can represent other types by converting them to strings.

To fit a linear regression model in R, you would use the ______ function.

  • lm()
  • regmodel()
  • linreg()
  • regression()
To fit a linear regression model in R, you would use the lm() function. The lm() function stands for "linear model" and is used for estimating the coefficients of a linear regression model based on the given data.

The ______ function in R can be used to add text annotations to a plot.

  • text()
  • annotate()
  • label()
  • add_text()
The text() function in R can be used to add text annotations to a plot. It allows you to specify the coordinates and the text to be displayed at those coordinates, providing additional information or labels within the plot.

Suppose you're asked to write a function in R that takes a vector of numbers and applies a mathematical operation (like squaring or taking the square root) to each number. The mathematical operation itself should also be a function, nested within your main function. How would you do it?

  • function_name <- function(numbers, operation) { result <- sapply(numbers, operation); return(result) }
  • function_name <- function(numbers, operation) { result <- lapply(numbers, operation); return(result) }
  • function_name <- function(numbers, operation) { result <- vapply(numbers, operation, FUN.VALUE = numeric(1)); return(result) }
  • All of the above
To write a function in R that takes a vector of numbers and applies a mathematical operation (like squaring or taking the square root) to each number, with the mathematical operation itself nested within the main function, you can use the following code: function_name <- function(numbers, operation) { result <- sapply(numbers, operation); return(result) }. The sapply() function is used to apply the operation function to each element in the numbers vector, and the result is returned.

Imagine you're working with a data set in R that contains missing values. How would you handle the missing values in your statistical analysis?

  • Exclude the observations with missing values from the analysis
  • Use imputation techniques to fill in the missing values
  • Analyze the available data and report the limitations due to missing values
  • All of the above
When working with a data set in R that contains missing values, handling them in your statistical analysis depends on the nature and extent of missingness. You may choose to exclude the observations with missing values from the analysis, use imputation techniques to fill in the missing values based on certain assumptions, or perform the analysis on the available data and report the limitations or potential bias introduced by the missing values. The choice of approach should be guided by the research question, the amount of missingness, and the assumptions underlying the analysis.

How do you implement a recursive function in R?

  • Define the base case and the recursive case within the function
  • Use the loop keyword to initiate recursion
  • Use the recurse function to call the function recursively
  • All of the above
To implement a recursive function in R, you define the base case and the recursive case within the function. The base case specifies a condition that determines when the recursion should stop, while the recursive case defines how the function calls itself with modified arguments to approach the base case. This iterative process continues until the base case is reached.

The & operator in R performs element-wise logical 'AND' operation on ________.

  • scalars
  • vectors
  • strings
  • factors
The & operator in R performs element-wise logical 'AND' operation on vectors. When applied to two logical vectors, the & operator compares the corresponding elements and returns a logical vector of the same length, where each element represents the result of the element-wise 'AND' operation.

To handle missing values when finding the max or min value in R, you would use the ______ parameter in the max or min function.

  • na.rm = TRUE
  • na.exclude = TRUE
  • na.action = "ignore"
  • na.option = "remove"
To handle missing values when finding the max or min value in R, you would use the na.rm = TRUE parameter in the max() or min() function. Setting na.rm = TRUE instructs R to ignore missing values and calculate the max or min based on the available non-missing values.

Suppose you're asked to optimize a piece of R code that operates on large vectors. What are some strategies you could use to improve its performance?

  • Use vectorized functions instead of explicit loops
  • Preallocate memory for the resulting vector
  • Minimize unnecessary copies of vectors
  • All of the above
Some strategies to improve the performance of R code operating on large vectors include using vectorized functions instead of explicit loops, preallocating memory for the resulting vector to avoid dynamic resizing, minimizing unnecessary copies of vectors to reduce memory usage, and optimizing the code logic to avoid redundant calculations. These strategies can significantly enhance the efficiency and speed of code execution.

Describe a situation where you had to use string manipulation functions in R for data cleaning.

  • Removing leading and trailing whitespaces from strings
  • Converting strings to a consistent case
  • Replacing certain patterns in strings
  • All of the above
All the options are valid situations where string manipulation functions in R might be used for data cleaning. For example, trimws() can be used to remove leading and trailing whitespaces, tolower() or toupper() can be used to convert strings to a consistent case, and gsub() can be used to replace certain patterns in strings.