Bird
Raised Fist0
R Programmingprogramming~10 mins

Why functions organize code in R Programming - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a function named greet that prints a message.

R Programming
greet <- function() {
  print([1])
}
Drag options to blanks, or click blank then click option'
AHello, friend!
B"Hello, friend!"
Cprint("Hello, friend!")
Dmessage("Hello, friend!")
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting quotes around the message
Putting print inside the string
2fill in blank
medium

Complete the code to call the greet function.

R Programming
[1]()
Drag options to blanks, or click blank then click option'
Agreet
Bprint
Cmessage
Dsay
Attempts:
3 left
💡 Hint
Common Mistakes
Using print instead of the function name
Forgetting parentheses
3fill in blank
hard

Fix the error in the function definition to accept a name parameter.

R Programming
greet <- function([1]) {
  print(paste("Hello," , name))
}
Drag options to blanks, or click blank then click option'
Atext
Bmessage
Cinput
Dname
Attempts:
3 left
💡 Hint
Common Mistakes
Using a different parameter name than inside the function
Forgetting to add a parameter
4fill in blank
hard

Fill both blanks to create a function that adds two numbers and returns the result.

R Programming
add_numbers <- function(a, b) {
  result <- a [1] b
  return([2])
}
Drag options to blanks, or click blank then click option'
A+
Bresult
C-
Da
Attempts:
3 left
💡 Hint
Common Mistakes
Using subtraction instead of addition
Returning the wrong variable
5fill in blank
hard

Fill all three blanks to create a function that checks if a number is positive, negative, or zero.

R Programming
check_number <- function(num) {
  if (num [1] 0) {
    return("Positive")
  } else if (num [2] 0) {
    return("Negative")
  } else {
    return([3])
  }
}
Drag options to blanks, or click blank then click option'
A>
B<
C"Zero"
D==
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong comparison operators
Returning a variable instead of a string for zero

Practice

(1/5)
1. Why do we use functions to organize code in R?
easy
A. To make the program run faster
B. To group related code and make it reusable
C. To avoid using variables
D. To write code without comments

Solution

  1. Step 1: Understand the purpose of functions

    Functions group related lines of code into one block that can be reused multiple times.
  2. Step 2: Identify the main benefit

    This grouping helps keep code organized and avoids repeating the same code again and again.
  3. Final Answer:

    To group related code and make it reusable -> Option B
  4. Quick Check:

    Functions organize code = A [OK]
Hint: Functions group and reuse code easily [OK]
Common Mistakes:
  • Thinking functions make code run faster
  • Believing functions remove the need for variables
  • Assuming functions replace comments
2. Which of the following is the correct way to define a function named greet in R?
easy
A. def greet() print("Hello")
B. function greet() { print("Hello") }
C. greet <- function() { print("Hello") }
D. greet() = { print("Hello") }

Solution

  1. Step 1: Recall R function syntax

    In R, functions are defined using the syntax: name <- function() { ... }
  2. Step 2: Match the correct syntax

    greet <- function() { print("Hello") } matches this syntax exactly, defining greet as a function that prints "Hello".
  3. Final Answer:

    greet <- function() { print("Hello") } -> Option C
  4. Quick Check:

    R function syntax = A [OK]
Hint: Use <- function() { } to define functions in R [OK]
Common Mistakes:
  • Using Python or JavaScript syntax in R
  • Missing the <- assignment operator
  • Using parentheses incorrectly
3. What will be the output of this R code?
add <- function(x, y) {
  return(x + y)
}
result <- add(3, 4)
print(result)
medium
A. 7
B. 34
C. Error: object 'add' not found
D. NULL

Solution

  1. Step 1: Understand the function behavior

    The function add takes two inputs and returns their sum.
  2. Step 2: Calculate the function call

    Calling add(3, 4) returns 3 + 4 = 7, which is stored in result and printed.
  3. Final Answer:

    7 -> Option A
  4. Quick Check:

    3 + 4 = 7 [OK]
Hint: Functions return values; print shows the result [OK]
Common Mistakes:
  • Thinking the function concatenates numbers as strings
  • Expecting an error due to missing parentheses
  • Assuming the function prints automatically without print()
4. Identify the error in this R function definition:
multiply <- function(x, y) {
  product = x * y
  return product
}
medium
A. Function name cannot be multiply
B. Using = instead of <- for assignment
C. No error, code is correct
D. Missing parentheses in return statement

Solution

  1. Step 1: Check the return statement syntax

    In R, return must be followed by parentheses enclosing the value to return.
  2. Step 2: Identify the error

    The code uses return product without parentheses, which causes a syntax error.
  3. Final Answer:

    Missing parentheses in return statement -> Option D
  4. Quick Check:

    return() needs parentheses [OK]
Hint: Always use return(value) with parentheses in R [OK]
Common Mistakes:
  • Omitting parentheses in return
  • Confusing assignment operators
  • Thinking function names are restricted
5. You want to write a function in R that calculates the average of a numeric vector and returns it. Which of these function definitions correctly organizes the code to do this?
hard
A. average <- function(nums) { return(sum(nums) / length(nums)) }
B. average <- function(nums) { for (n in nums) { sum <- sum + n } return(sum / length(nums)) }
C. average <- function(nums) { mean <- sum(nums) * length(nums) return(mean) }
D. average <- function(nums) { for (n in nums) { sum <- sum + n } return(sum) }

Solution

  1. Step 1: Analyze each function's logic

    average <- function(nums) { for (n in nums) { sum <- sum + n } return(sum / length(nums)) } attempts to manually sum numbers but does not initialize sum, causing an error on undefined sum. average <- function(nums) { return(sum(nums) / length(nums)) } uses built-in functions sum() and length() correctly. average <- function(nums) { mean <- sum(nums) * length(nums) return(mean) } multiplies sum by length, which is wrong. average <- function(nums) { for (n in nums) { sum <- sum + n } return(sum) } sums but never initializes sum and returns sum without averaging.
  2. Step 2: Choose the correct function

    average <- function(nums) { return(sum(nums) / length(nums)) } is concise, uses built-in functions, and returns the correct average.
  3. Final Answer:

    average <- function(nums) { return(sum(nums) / length(nums)) } -> Option A
  4. Quick Check:

    Use built-in sum and length for average [OK]
Hint: Use sum(nums)/length(nums) for average in one line [OK]
Common Mistakes:
  • Forgetting to initialize sum before loop
  • Multiplying sum by length instead of dividing
  • Returning sum without dividing by length
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard