Bird
Raised Fist0
R Programmingprogramming~20 mins

Function arguments in R Programming - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Function Arguments Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of function with default and named arguments
What is the output of this R code?
R Programming
f <- function(x, y = 2) {
  x + y
}

result <- f(y = 3, x = 4)
print(result)
AError: unused argument (y = 3)
B[1] 5
C[1] 7
D[1] 6
Attempts:
2 left
💡 Hint
Remember that named arguments can be passed in any order.
❓ Predict Output
intermediate
2:00remaining
Effect of missing argument with default
What will this R code print?
R Programming
g <- function(a, b = 10) {
  a * b
}

print(g(5))
A[1] 50
BError: argument "b" is missing, with no default
C[1] 15
D[1] 5
Attempts:
2 left
💡 Hint
Check the default value of b.
🔧 Debug
advanced
2:00remaining
Identify the error in function argument usage
What error does this R code produce?
R Programming
h <- function(x, y) {
  x + y
}

h(3)
AError in h(3) : unused argument (3)
BError in h(3) : argument "y" is missing, with no default
CError in h(3) : object 'y' not found
DNo error, output is 3
Attempts:
2 left
💡 Hint
Check if all required arguments are provided.
❓ Predict Output
advanced
2:00remaining
Output with ... (ellipsis) argument
What does this R code print?
R Programming
k <- function(x, ...) {
  args <- list(...)
  sum <- x
  for (val in args) {
    sum <- sum + val
  }
  sum
}

print(k(1, 2, 3, 4))
A[1] 10
B[1] 24
C[1] 1
DError: object 'val' not found
Attempts:
2 left
💡 Hint
The ... collects extra arguments as a list.
🧠 Conceptual
expert
2:00remaining
Number of arguments in a function call
How many arguments are passed to the function call below?
R Programming
m <- function(a, b = 2, c = 3) {
  a + b + c
}

m(1, c = 4)
AError: missing argument
B3
C1
D2
Attempts:
2 left
💡 Hint
Count only arguments explicitly passed in the call.

Practice

(1/5)
1. What is the purpose of function arguments in R?
my_function <- function(x, y) { x + y }
easy
A. To create variables outside the function
B. To print output from the function
C. To send information into the function for processing
D. To stop the function from running

Solution

  1. Step 1: Understand what arguments do

    Arguments are values you give to a function so it can use them inside its code.
  2. Step 2: Look at the example function

    The function takes x and y as inputs and adds them, showing arguments are inputs.
  3. Final Answer:

    To send information into the function for processing -> Option C
  4. Quick Check:

    Function arguments = inputs [OK]
Hint: Arguments are inputs you give to functions [OK]
Common Mistakes:
  • Thinking arguments print output
  • Confusing arguments with variables outside
  • Believing arguments stop function execution
2. Which of the following is the correct way to define a function with two arguments a and b in R?
easy
A. my_func <- function {a, b} return(a + b)
B. my_func <- function(a, b) { return(a + b) }
C. my_func <- function[a, b] { return(a + b) }
D. my_func <- function(a; b) { return(a + b) }

Solution

  1. Step 1: Recall R function syntax

    Functions use parentheses () to list arguments separated by commas.
  2. Step 2: Check each option

    Only my_func <- function(a, b) { return(a + b) } uses parentheses and commas correctly; others use wrong brackets or separators.
  3. Final Answer:

    my_func <- function(a, b) { return(a + b) } -> Option B
  4. Quick Check:

    Function args use (a, b) [OK]
Hint: Use parentheses and commas for arguments [OK]
Common Mistakes:
  • Using square brackets instead of parentheses
  • Separating arguments with semicolons
  • Omitting parentheses around arguments
3. What will be the output of this R code?
add <- function(x, y = 5) {
  x + y
}
add(3)
medium
A. 8
B. 3
C. 5
D. Error: missing argument y

Solution

  1. Step 1: Understand default argument values

    The function add has y defaulting to 5 if not provided.
  2. Step 2: Call the function with one argument

    Calling add(3) uses x=3 and default y=5, so result is 3 + 5 = 8.
  3. Final Answer:

    8 -> Option A
  4. Quick Check:

    3 + default 5 = 8 [OK]
Hint: Default arguments fill in missing values [OK]
Common Mistakes:
  • Expecting error when argument is missing
  • Ignoring default argument values
  • Confusing which argument has default
4. Identify the error in this R function definition:
multiply <- function(x, y) {
  result <- x * z
  return(result)
}
medium
A. Function should not use return statement
B. Function name cannot be multiply
C. Arguments must have default values
D. Variable z is not defined inside the function

Solution

  1. Step 1: Check variables used inside function

    The function uses z but only x and y are arguments; z is undefined.
  2. Step 2: Understand variable scope

    Variables inside functions must be defined or passed as arguments; z is missing.
  3. Final Answer:

    Variable z is not defined inside the function -> Option D
  4. Quick Check:

    Undefined variable = error [OK]
Hint: Use only defined arguments or variables inside functions [OK]
Common Mistakes:
  • Using variables not passed as arguments
  • Thinking return is optional error
  • Believing arguments must have defaults
5. You want to create a function greet that takes a name and an optional greeting message (default "Hello"). Which function definition is correct to achieve this?
hard
A. greet <- function(name, message = "Hello") { paste(message, name) }
B. greet <- function(name = "Hello", message) { paste(message, name) }
C. greet <- function(name, message) { paste(message, name) }
D. greet <- function(message = "Hello", name) { paste(name, message) }

Solution

  1. Step 1: Identify default argument placement

    In R, arguments with defaults must come after those without defaults.
  2. Step 2: Check each option

    greet <- function(name, message = "Hello") { paste(message, name) } correctly places message with default after name without default and uses paste correctly.
  3. Final Answer:

    greet <- function(name, message = "Hello") { paste(message, name) } -> Option A
  4. Quick Check:

    Default args last = correct [OK]
Hint: Put default arguments after required ones [OK]
Common Mistakes:
  • Placing default arguments before required ones
  • Forgetting default values
  • Mixing argument order in paste function
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