📖 Scenario: Imagine you are creating a simple calculator function in R that adds two numbers. Sometimes, you want to add a number to zero by default if the second number is not given.
🎯 Goal: Build a function called add_numbers that adds two numbers, where the second number has a default value of 0.
📋 What You'll Learn
Create a function named add_numbers with two parameters: a and b
Set the default value of parameter b to 0
Return the sum of a and b
Call the function with one argument and print the result
Call the function with two arguments and print the result
💡 Why This Matters
🌍 Real World
Default argument values are useful in many programs where some inputs are optional or have common defaults, like setting a default tax rate or default color.
💼 Career
Understanding default arguments helps you write flexible and user-friendly functions, a key skill for software development and data analysis.
Progress0 / 4 steps
1
Create the function skeleton
Write a function named add_numbers with two parameters: a and b. Do not set any default values yet.
R Programming
Hint
Use the function keyword to create a function with parameters a and b.
2
Set default value for second parameter
Modify the function add_numbers so that the parameter b has a default value of 0.
R Programming
Hint
Set the default value by using b = 0 inside the function parameters.
3
Add the core logic to sum the numbers
Inside the function add_numbers, return the sum of a and b.
R Programming
Hint
Use return(a + b) to send back the sum.
4
Test the function with one and two arguments
Call the function add_numbers with one argument 5 and print the result. Then call it with two arguments 5 and 3 and print the result.
R Programming
Hint
Use print(add_numbers(5)) and print(add_numbers(5, 3)) to show the results.
Practice
(1/5)
1. What happens if you call an R function with a default argument but do not provide that argument?
easy
A. The function asks the user to input the missing argument.
B. The function returns an error because the argument is missing.
C. The function uses the default value specified in the function definition.
D. The function ignores the argument and runs without it.
Solution
Step 1: Understand default arguments in R
Default arguments provide a preset value if no value is given when calling the function.
Step 2: Behavior when argument is missing
If the argument is not provided, R uses the default value automatically without error.
Final Answer:
The function uses the default value specified in the function definition. -> Option C
Quick Check:
Missing argument uses default value [OK]
Hint: If argument missing, default value is used automatically [OK]
Common Mistakes:
Thinking missing argument causes error
Assuming function asks for input
Believing function ignores missing argument silently
2. Which of the following is the correct way to define a function in R with a default argument x set to 10?
easy
A. myfunc <- function(x <- 10) { return(x) }
B. myfunc <- function(x = 10) { return(x) }
C. myfunc <- function(x: 10) { return(x) }
D. myfunc <- function(x == 10) { return(x) }
Solution
Step 1: Recall R function default argument syntax
In R, default values are assigned with = inside the function definition.
Step 2: Check each option
Only myfunc <- function(x = 10) { return(x) } uses x = 10 correctly. Others use invalid syntax like :, <-, or ==.
Default argument uses = in function definition [OK]
Hint: Use = to assign default values in function arguments [OK]
Common Mistakes:
Using <- or : instead of = for default values
Using == which is a comparison, not assignment
Placing default outside function parentheses
3. What is the output of this R code?
add <- function(a, b = 5) {
return(a + b)
}
add(3)
medium
A. 8
B. 3
C. Error: argument 'b' missing
D. 5
Solution
Step 1: Identify default argument usage
The function add has b defaulting to 5 if not provided.
Step 2: Call function with only a=3
Since b is missing, it uses default 5, so result is 3 + 5 = 8.
Final Answer:
8 -> Option A
Quick Check:
3 + default 5 = 8 [OK]
Hint: If argument missing, default value is used [OK]
Common Mistakes:
Expecting error for missing argument
Ignoring default and using only provided argument
Confusing output with just the first argument
4. Consider this R function:
multiply <- function(x, y = 2) {
x * y
}
multiply(4, )
What is the problem with this code?
medium
A. Function returns 8 because y defaults to 2.
B. Function throws error because x is missing.
C. Function ignores y and multiplies by 1.
D. Syntax error due to trailing comma without value.
Solution
Step 1: Analyze function call syntax
The call multiply(4, ) has a comma but no second argument value, which is invalid syntax in R.
Step 2: Understand R argument rules
Trailing commas without values cause syntax errors; you must omit the comma if skipping optional arguments.
Final Answer:
Syntax error due to trailing comma without value. -> Option D
Quick Check:
Trailing comma without value causes syntax error [OK]
Hint: No trailing commas without values in function calls [OK]
Common Mistakes:
Assuming default used despite syntax error
Thinking function returns result ignoring syntax
Confusing missing argument with missing value
5. You want to write an R function greet that prints a greeting message. It should take a name argument with default "Guest" and a punctuation argument with default "!". Which function definition correctly implements this?
Defaults must be assigned inside the function definition using = and quoted strings for text.
Step 2: Validate each option
greet <- function(name = "Guest", punctuation = "!") { paste0("Hello, ", name, punctuation) } correctly sets defaults with quotes and uses them in paste0. Other options misuse default assignment by placing it inside the function body, omitting defaults for optional arguments, or lacking quotes around strings (e.g., name = Guest, punctuation = !).