What does na.rm = TRUE do in R functions like sum() or mean()?
It tells the function to ignore (remove) any missing values (NA) before calculating the result. This prevents errors or NA results.
Click to reveal answer
beginner
What is the purpose of the na.omit() function in R?
It removes all rows or elements that contain NA values from a vector, data frame, or matrix, returning only complete cases.
Click to reveal answer
intermediate
How does na.omit() differ from using na.rm = TRUE?
na.omit() removes entire rows or elements with missing values, while na.rm = TRUE tells a function to ignore missing values during calculation without removing data.
Click to reveal answer
beginner
What happens if you use sum(c(1, 2, NA)) without na.rm = TRUE?
The result will be NA because the sum function encounters a missing value and cannot compute the total unless told to remove NAs.
Click to reveal answer
beginner
Can na.omit() be used on a data frame with multiple columns?
Yes, it removes all rows that have any NA in any column, returning only rows with complete data.
Click to reveal answer
What does na.rm = TRUE do in R?
AReplaces missing values with zero
BRemoves all missing values from the data permanently
CStops the function if missing values are found
DIgnores missing values during calculations
✗ Incorrect
na.rm = TRUE tells functions like sum() or mean() to ignore missing values (NA) during calculation.
Which function removes rows with missing values from a data frame?
Ana.omit()
Bomit.na()
Cremove.na()
Dna.rm()
✗ Incorrect
na.omit() removes rows containing NA values from data frames or vectors.
What will sum(c(1, 2, NA), na.rm = FALSE) return?
A3
BNA
C0
DError
✗ Incorrect
Without na.rm = TRUE, the sum returns NA if any missing values are present.
If you want to calculate the mean ignoring missing values, what should you do?
AUse <code>mean(x)</code>
BUse <code>na.omit(mean(x))</code>
CUse <code>mean(x, na.rm = TRUE)</code>
DReplace missing values manually
✗ Incorrect
Use na.rm = TRUE inside mean() to ignore missing values.
What does na.omit() return when applied to a vector with missing values?
AOnly the non-missing values
BThe vector unchanged
COnly the missing values
DAn error
✗ Incorrect
na.omit() returns the vector without any NA values.
Explain how na.rm = TRUE and na.omit() help handle missing values in R.
Think about when you want to calculate with missing data versus when you want to clean data.
You got /3 concepts.
Describe a situation where you would use na.omit() instead of na.rm = TRUE.
Consider data cleaning before analysis.
You got /3 concepts.
Practice
(1/5)
1. What does the argument na.rm = TRUE do when used inside functions like sum() or mean() in R?
easy
A. It tells the function to ignore missing values (NA) during calculation.
B. It replaces missing values with zero before calculation.
C. It stops the function and returns an error if there are missing values.
D. It counts the number of missing values in the data.
Solution
Step 1: Understand the role of na.rm argument
The na.rm argument stands for "NA remove" and controls whether missing values should be ignored.
Step 2: Effect of setting na.rm = TRUE
When set to TRUE, the function skips over any NA values and calculates the result using only the available data.
Final Answer:
It tells the function to ignore missing values (NA) during calculation. -> Option A
Quick Check:
na.rm = TRUE means ignore NA values [OK]
Hint: Remember: na.rm = TRUE means "remove NA" during calculation [OK]
Common Mistakes:
Thinking na.rm replaces NA with zero
Assuming na.rm causes an error on NA
Confusing na.rm with counting NAs
2. Which of the following is the correct syntax to remove missing values from a vector x using na.omit() in R?
easy
A. clean_x <- na.remove(x)
B. clean_x <- omit.na(x)
C. clean_x <- na.omit(x)
D. clean_x <- remove.na(x)
Solution
Step 1: Recall the function name for removing NAs
The correct function in R to remove missing values is na.omit().
Step 2: Check the syntax usage
It is used as na.omit(x) where x is the vector or data frame.
Final Answer:
clean_x <- na.omit(x) -> Option C
Quick Check:
Use na.omit() to remove NAs [OK]
Hint: Use na.omit() exactly as written to remove missing values [OK]
Calling sum(x) with NA values returns NA because missing values cause the sum to be undefined.
Step 2: Calculate sum with na.rm = TRUE
Calling sum(x, na.rm = TRUE) ignores NAs and sums only 2 + 5 + 8 = 15.
Final Answer:
[1] NA and [1] 15 -> Option B
Quick Check:
sum() returns NA if NA present unless na.rm=TRUE [OK]
Hint: sum() returns NA if NA present; use na.rm=TRUE to ignore [OK]
Common Mistakes:
Assuming sum ignores NA by default
Mixing output order of the two sums
Thinking sum with na.rm=TRUE returns NA
4. You run this code in R:
data <- c(4, NA, 7, NA, 10)
mean(data)
But it returns NA. How can you fix it to get the mean ignoring missing values?
medium
A. Both A and C are correct
B. Use mean(data, na.rm = TRUE)
C. Use mean(na.omit(data))
D. Replace NA with zero manually before mean
Solution
Step 1: Understand why mean returns NA
By default, mean() returns NA if any missing values exist in the data.
Step 2: Ways to ignore missing values
You can either set na.rm = TRUE inside mean() or remove NAs first using na.omit() and then calculate mean.
Step 3: Check options
Both mean(data, na.rm = TRUE) and mean(na.omit(data)) will give the correct mean ignoring NAs.
Final Answer:
Both A and C are correct -> Option A
Quick Check:
Use na.rm=TRUE or na.omit() to ignore NAs in mean [OK]
Hint: Use na.rm=TRUE or na.omit() to ignore missing values [OK]
Common Mistakes:
Forgetting to add na.rm=TRUE
Thinking mean automatically ignores NA
Replacing NA with zero without reason
5. Given a data frame df with numeric column score containing some NAs, which code correctly calculates the average score excluding missing values and also removes rows with NA in score before calculating the mean?
hard
A. mean(df$score, na.rm = FALSE); df_clean <- na.omit(df); mean(df_clean$score)
B. mean(na.omit(df)); df_clean <- na.omit(df); mean(df_clean$score)
C. mean(df$score); df_clean <- na.omit(df$score); mean(df_clean)
D. mean(df$score, na.rm = TRUE); df_clean <- na.omit(df); mean(df_clean$score)
Solution
Step 1: Calculate mean ignoring NAs in the column
Using mean(df$score, na.rm = TRUE) calculates average excluding NAs directly.
Step 2: Remove rows with NA in entire data frame
na.omit(df) removes all rows with any NA values, including in score.
Step 3: Calculate mean on cleaned data
Then mean(df_clean$score) calculates mean on data without missing values.