Bird
Raised Fist0
R Programmingprogramming~5 mins

Function definition in R Programming - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Function definition
O(1)
Understanding Time Complexity

When we define a function, we want to know how long it takes to run when we use it with different inputs.

We ask: How does the time to run change as the input size grows?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


my_function <- function(x) {
  result <- x + 1
  return(result)
}

output <- my_function(5)
print(output)
    

This code defines a simple function that adds 1 to a number and returns the result.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: A single addition operation inside the function.
  • How many times: Exactly once each time the function is called.
How Execution Grows With Input

The function does the same small task no matter what number you give it.

Input Size (n)Approx. Operations
101
1001
10001

Pattern observation: The work stays the same no matter how big the input number is.

Final Time Complexity

Time Complexity: O(1)

This means the function takes the same short time to run no matter the input size.

Common Mistake

[X] Wrong: "The function takes longer if the input number is bigger because the number is bigger."

[OK] Correct: The function just adds 1 once, so the size of the number does not change how long it takes.

Interview Connect

Understanding how simple functions behave helps you explain your code clearly and shows you know how to think about efficiency.

Self-Check

"What if the function used a loop to add 1 multiple times based on the input? How would the time complexity change?"

Practice

(1/5)
1. What is the correct way to start defining a function named greet in R?
easy
A. greet <- function() { }
B. function greet() { }
C. def greet() { }
D. function <- greet() { }

Solution

  1. Step 1: Recognize R function syntax

    In R, functions are defined by assigning a function() to a name using <-.
  2. Step 2: Match the correct syntax

    greet <- function() { } uses the correct syntax: name <- function() { }.
  3. Final Answer:

    greet <- function() { } -> Option A
  4. Quick Check:

    Function definition = name <- function() [OK]
Hint: Use name <- function() to define functions in R [OK]
Common Mistakes:
  • Using def instead of function
  • Writing function name() without <-
  • Placing function keyword after name
2. Which of the following is the correct syntax to define a function add that takes two arguments x and y in R?
easy
A. function add(x, y) { x + y }
B. add(x, y) <- function { return x + y }
C. add <- function(x, y) { return(x + y) }
D. add <- function x, y { return(x + y) }

Solution

  1. Step 1: Check function definition format

    In R, arguments go inside parentheses after function keyword, and the body is inside braces.
  2. Step 2: Verify return statement and assignment

    add <- function(x, y) { return(x + y) } correctly assigns function with arguments and uses return() properly.
  3. Final Answer:

    add <- function(x, y) { return(x + y) } -> Option C
  4. Quick Check:

    Arguments inside function() and return() used [OK]
Hint: Put arguments inside function() parentheses [OK]
Common Mistakes:
  • Placing arguments outside function()
  • Missing braces {} around function body
  • Incorrect assignment syntax
3. What will be the output of the following R code?
multiply <- function(a, b) {
  result <- a * b
  return(result)
}
multiply(3, 4)
medium
A. 12
B. 7
C. 34
D. Error

Solution

  1. Step 1: Understand function behavior

    The function multiply takes two numbers and returns their product.
  2. Step 2: Calculate the product of 3 and 4

    3 * 4 equals 12, so the function returns 12.
  3. Final Answer:

    12 -> Option A
  4. Quick Check:

    3 * 4 = 12 [OK]
Hint: Multiply inputs and return result to get output [OK]
Common Mistakes:
  • Adding instead of multiplying
  • Concatenating numbers as strings
  • Forgetting to return the result
4. Identify the error in this R function definition:
sum_values <- function(x, y) 
  total <- x + y
  return(total)
}
medium
A. Function name is invalid
B. Missing opening brace { after function()
C. Incorrect use of return()
D. Arguments should be inside square brackets []

Solution

  1. Step 1: Check function body braces

    The function body must be enclosed in braces { } immediately after function() declaration.
  2. Step 2: Locate missing brace

    The code lacks an opening brace { after function(x, y), causing syntax error.
  3. Final Answer:

    Missing opening brace { after function() -> Option B
  4. Quick Check:

    Function body needs { } [OK]
Hint: Always put { after function() to start body [OK]
Common Mistakes:
  • Omitting braces around function body
  • Placing return outside function
  • Using wrong brackets for arguments
5. You want to write a function filter_positive that takes a numeric vector and returns only the positive numbers. Which function definition correctly does this in R?
hard
A. filter_positive <- function(vec) { return(vec[vec == 0]) }
B. filter_positive <- function(vec) { return(vec[vec < 0]) }
C. filter_positive <- function(vec) { vec > 0 }
D. filter_positive <- function(vec) { return(vec[vec > 0]) }

Solution

  1. Step 1: Understand filtering in R

    To get positive numbers, select elements where vec > 0.
  2. Step 2: Check return statement

    filter_positive <- function(vec) { return(vec[vec > 0]) } returns vec elements where condition vec > 0 is TRUE, correctly filtering positives.
  3. Final Answer:

    filter_positive <- function(vec) { return(vec[vec > 0]) } -> Option D
  4. Quick Check:

    Filter with vec[vec > 0] returns positives [OK]
Hint: Use vec[vec > 0] to filter positive numbers [OK]
Common Mistakes:
  • Using wrong comparison operator
  • Not returning filtered vector
  • Returning logical vector instead of values
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