Skip to content

Latest commit

 

History

History
122 lines (93 loc) · 1.6 KB

Quiz_2.md

File metadata and controls

122 lines (93 loc) · 1.6 KB

Question 1

Suppose I define the following function in R

cube <- function(x, n) { x^3 } What is the result of running

cube(3) in R after defining this function?

Answer

The number 27 is returned

Explanation

Because 'n' is not evaluated, it is not needed even though it is a formal argument.

cube <- function(x, n) {

  • x^3
    
  • }

cube(3) [1] 27 Question 2

The following code will produce a warning in R.

x <- 1:10 if(x > 5) { x <- 0 } Why?

Answer

'x' is a vector of length 10 and 'if' can only test a single logical statement.

Explanation

if(x > 5) {

  • x <- 0
    
  • } Warning message: In if (x > 5) { : the condition has length > 1 and only the first element will be used Question 3

Consider the following function

f <- function(x) { g <- function(y) { y + z } z <- 4 x + g(x) } If I then run in R

z <- 10 f(3) What value is returned?

Answer

10

Explanation

f <- function(x) {

  • g <- function(y) {
    
  •     y + z
    
  • }
    
  • z <- 4
    
  • x + g(x)
    
  • }

z <- 10 f(3) [1] 10 Question 4

Consider the following expression:

x <- 5 y <- if(x < 3) { NA } else { 10 } What is the value of 'y' after evaluating this expression?

Answer

10

Explanation

x <- 5 y <- if(x < 3) {

  • NA
    
  • } else {
  • 10
    
  • }

y [1] 10 Question 5

Consider the following R function

h <- function(x, y = NULL, d = 3L) { z <- cbind(x, d) if(!is.null(y)) z <- z + y else z <- z + f g <- x + y / z if(d == 3L) return(g) g <- g + 10 g }