Bird
Raised Fist0
R Programmingprogramming~5 mins

Summary statistics in R Programming - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Summary statistics
O(n)
Understanding Time Complexity

We want to know how the time to calculate summary statistics changes as the data grows.

How does the number of operations grow when we summarize more data?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

data <- c(4, 8, 15, 16, 23, 42)
mean_val <- mean(data)
median_val <- median(data)
min_val <- min(data)
max_val <- max(data)
sd_val <- sd(data)

This code calculates basic summary statistics like mean, median, min, max, and standard deviation for a numeric vector.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Each summary function scans through the entire data vector once.
  • How many times: There are 5 separate scans, one for each statistic.
How Execution Grows With Input

Each function looks at every number once, so the work grows directly with data size.

Input Size (n)Approx. Operations
10About 50 (5 times 10)
100About 500 (5 times 100)
1000About 5000 (5 times 1000)

Pattern observation: The total work grows linearly as the data size grows.

Final Time Complexity

Time Complexity: O(n)

This means the time to compute summary statistics grows in direct proportion to the number of data points.

Common Mistake

[X] Wrong: "Calculating all summary statistics takes constant time regardless of data size."

[OK] Correct: Each statistic needs to look at every data point, so more data means more work.

Interview Connect

Understanding how summary statistics scale helps you explain data processing speed clearly and confidently in real projects.

Self-Check

"What if we calculate summary statistics only once but for multiple columns in a data frame? How would the time complexity change?"

Practice

(1/5)
1. What does the summary() function in R provide when applied to a numeric vector?
easy
A. Minimum, 1st quartile, median, mean, 3rd quartile, and maximum values
B. Only the mean and median values
C. The sum and product of all elements
D. The count of unique values

Solution

  1. Step 1: Understand what summary() does for numeric vectors

    The summary() function returns key statistics including minimum, quartiles, median, mean, and maximum.
  2. Step 2: Compare options with the known output

    Minimum, 1st quartile, median, mean, 3rd quartile, and maximum values lists all these statistics correctly, while others miss important parts or give unrelated info.
  3. Final Answer:

    Minimum, 1st quartile, median, mean, 3rd quartile, and maximum values -> Option A
  4. Quick Check:

    summary() = min, Q1, median, mean, Q3, max [OK]
Hint: Remember summary() shows min, quartiles, median, mean, max [OK]
Common Mistakes:
  • Thinking summary() only gives mean and median
  • Confusing summary() with sum() or length()
  • Expecting summary() to count unique values
2. Which of the following is the correct way to get summary statistics of a data frame named df in R?
easy
A. stats(df)
B. summarize(df)
C. summary(df)
D. summary_stats(df)

Solution

  1. Step 1: Recall the correct function name for summary statistics in R

    The built-in function to get summary statistics is summary().
  2. Step 2: Check the options for correct syntax

    Only summary(df) uses the correct function summary() applied to the data frame df.
  3. Final Answer:

    summary(df) -> Option C
  4. Quick Check:

    summary() is the correct function [OK]
Hint: Use summary() for data frames, not summarize() or others [OK]
Common Mistakes:
  • Using summarize() which is from dplyr, not base R
  • Typing summary_stats() which doesn't exist
  • Using stats() which is unrelated
3. What will be the output of the following R code?
vec <- c(5, 10, 15, 20, 25)
summary(vec)
medium
A. Min. 5, 1st Qu. 10, Median 15, Mean 15, 3rd Qu. 20, Max. 25
B. Min. 5, Median 10, Mean 15, Max. 25
C. Min. 5, Max. 25, Sum 75
D. Error: summary() cannot be applied to vectors

Solution

  1. Step 1: Calculate summary statistics for the vector

    The vector is 5, 10, 15, 20, 25. Minimum is 5, 1st quartile is 10, median is 15, mean is (5+10+15+20+25)/5 = 15, 3rd quartile is 20, maximum is 25.
  2. Step 2: Match calculated values with options

    Min. 5, 1st Qu. 10, Median 15, Mean 15, 3rd Qu. 20, Max. 25 matches all these values exactly. Other options miss quartiles or give errors.
  3. Final Answer:

    Min. 5, 1st Qu. 10, Median 15, Mean 15, 3rd Qu. 20, Max. 25 -> Option A
  4. Quick Check:

    summary(vec) = min 5, Q1 10, median 15, mean 15, Q3 20, max 25 [OK]
Hint: Calculate min, quartiles, median, mean, max for vector [OK]
Common Mistakes:
  • Forgetting to calculate quartiles
  • Confusing median with mean
  • Expecting an error for summary() on vectors
4. Identify the error in this R code that tries to get summary statistics of a numeric vector nums:
summary(nums, digits=2)
medium
A. The vector nums must be sorted before summary()
B. The vector nums must be converted to a data frame first
C. The function should be summarize() instead of summary()
D. The summary() function does not have a digits argument

Solution

  1. Step 1: Check the arguments of summary() in R

    The base R summary() function does not accept a digits argument. This causes an error.
  2. Step 2: Verify other options

    Converting to data frame or sorting is not required. summarize() is from dplyr, not base R.
  3. Final Answer:

    The summary() function does not have a digits argument -> Option D
  4. Quick Check:

    summary() has no digits argument [OK]
Hint: Check function arguments carefully to avoid errors [OK]
Common Mistakes:
  • Assuming summary() accepts digits argument
  • Thinking vector must be data frame
  • Confusing summary() with dplyr's summarize()
5. You have a data frame df with a numeric column age. You want to find the median age but exclude any missing values (NA). Which R code correctly does this?
hard
A. median(df$age)
B. median(df$age, na.rm = TRUE)
C. summary(df$age, na.rm = TRUE)["Median"]
D. summary(df$age)$median

Solution

  1. Step 1: Understand how to calculate median excluding NA values

    The median() function has an argument na.rm = TRUE to remove missing values before calculation.
  2. Step 2: Check each option for correctness

    median(df$age, na.rm = TRUE) correctly uses median() with na.rm = TRUE. summary(df$age, na.rm = TRUE)["Median"] tries to extract median from summary but summary() does not accept na.rm. median(df$age) ignores NA values causing NA result. summary(df$age)$median tries to access median as a list element which is invalid.
  3. Final Answer:

    median(df$age, na.rm = TRUE) -> Option B
  4. Quick Check:

    Use median() with na.rm=TRUE to exclude NA [OK]
Hint: Use median(..., na.rm=TRUE) to ignore missing values [OK]
Common Mistakes:
  • Not using na.rm=TRUE causing NA result
  • Trying to get median from summary() output incorrectly
  • Assuming summary() removes NA automatically
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