Bird
Raised Fist0
R Programmingprogramming~15 mins

Filtering rows in R Programming - Mini Project: Build & Apply

Choose your learning style10 modes available
Filtering rows
📖 Scenario: You have a small table of fruits with their prices and quantities. You want to find only the fruits that cost more than 2 dollars.
🎯 Goal: Build a program that creates a data frame of fruits, sets a price limit, filters the fruits that cost more than that limit, and prints the filtered data.
📋 What You'll Learn
Create a data frame called fruits with columns name, price, and quantity
Create a variable called price_limit and set it to 2
Filter the fruits data frame to keep only rows where price is greater than price_limit and save it as expensive_fruits
Print the expensive_fruits data frame
💡 Why This Matters
🌍 Real World
Filtering data tables is common when you want to focus on important or relevant information, like finding expensive products in a store.
💼 Career
Data filtering is a key skill in data analysis, reporting, and preparing data for decision making in many jobs.
Progress0 / 4 steps
1
Create the fruits data frame
Create a data frame called fruits with these exact entries: name as c("Apple", "Banana", "Cherry", "Date"), price as c(1.5, 0.5, 3.0, 2.5), and quantity as c(10, 20, 15, 5).
R Programming
Hint

Use the data.frame() function with named vectors for each column.

2
Set the price limit
Create a variable called price_limit and set it to 2.
R Programming
Hint

Just assign the number 2 to the variable price_limit.

3
Filter the fruits by price
Create a new data frame called expensive_fruits that contains only the rows from fruits where the price is greater than price_limit.
R Programming
Hint

Use the square bracket notation with a condition on fruits$price.

4
Print the filtered fruits
Write a print() statement to display the expensive_fruits data frame.
R Programming
Hint

Use print(expensive_fruits) to show the filtered table.

Practice

(1/5)
1. What does the subset() function do in R when working with data frames?
easy
A. It sorts the data frame by a column.
B. It changes the column names.
C. It adds new columns to the data frame.
D. It selects rows based on a condition.

Solution

  1. Step 1: Understand the purpose of subset() and compare with other options

    The subset() function is used to pick rows from a data frame that meet a specific condition. Changing column names, adding columns, or sorting are done by other functions, not subset().
  2. Final Answer:

    It selects rows based on a condition. -> Option D
  3. Quick Check:

    subset() filters rows [OK]
Hint: Remember: subset() picks rows that match conditions [OK]
Common Mistakes:
  • Thinking subset() changes columns
  • Confusing subset() with sorting functions
  • Using subset() to add data
2. Which of the following is the correct syntax to filter rows where column age is greater than 30 in a data frame df?
easy
A. subset(df, age > 30)
B. subset(df, age => 30)
C. subset(df, age = 30)
D. subset(df, age < 30)

Solution

  1. Step 1: Check the condition syntax and validate the subset syntax

    The correct comparison operator for 'greater than' is >, so age > 30 is correct. subset(df, age > 30) correctly filters rows where age is greater than 30.
  2. Final Answer:

    subset(df, age > 30) -> Option A
  3. Quick Check:

    Use > for greater than in subset() [OK]
Hint: Use >, <, == for conditions inside subset() [OK]
Common Mistakes:
  • Using => instead of >
  • Using = instead of == or >
  • Filtering with wrong comparison signs
3. Given the data frame df <- data.frame(name=c('Anna','Bob','Cara'), age=c(25, 35, 30)), what is the output of subset(df, age >= 30)?
medium
A. Rows with Bob and Cara
B. All rows
C. Rows with Anna and Bob
D. Rows with Anna and Cara

Solution

  1. Step 1: Identify rows where age >= 30 and check which are selected

    Bob has age 35 and Cara has age 30, both satisfy age >= 30. Anna has age 25, which does not meet the condition, so only Bob and Cara rows remain.
  2. Final Answer:

    Rows with Bob and Cara -> Option A
  3. Quick Check:

    Filter keeps rows with age 30 or more [OK]
Hint: Check each row's value against condition carefully [OK]
Common Mistakes:
  • Including rows with age less than 30
  • Confusing >= with >
  • Assuming all rows are returned
4. What is wrong with this code to filter rows where score is less than 50 in data frame df?
subset(df, score < 50 &)
medium
A. The subset function cannot filter numeric columns.
B. The condition ends with an incomplete operator '&'.
C. The comparison operator '<' is invalid in subset.
D. The data frame name is missing.

Solution

  1. Step 1: Analyze the condition syntax and check other options

    The condition ends with '&' which expects another condition after it, but none is provided. Subset can filter numeric columns, '<' is valid, and data frame name is present as 'df'.
  2. Final Answer:

    The condition ends with an incomplete operator '&'. -> Option B
  3. Quick Check:

    Conditions must be complete without dangling operators [OK]
Hint: Avoid ending conditions with & or | without second part [OK]
Common Mistakes:
  • Leaving dangling & or | operators
  • Thinking subset can't filter numbers
  • Misusing comparison operators
5. You have a data frame df with columns age and status. How do you filter rows where age is over 25 and status is 'active'?
hard
A. subset(df, age > 25, status == 'active')
B. subset(df, age > 25 | status == 'active')
C. subset(df, age > 25 & status == 'active')
D. subset(df, age > 25 && status = 'active')

Solution

  1. Step 1: Use correct logical operator for AND and check comparison operators and syntax

    The operator for AND in R is a single ampersand '&', so use age > 25 & status == 'active'. Use '==' to compare values, not '=', and combine conditions inside one subset call.
  2. Final Answer:

    subset(df, age > 25 & status == 'active') -> Option C
  3. Quick Check:

    Use & and == for combined conditions [OK]
Hint: Use & for AND, | for OR, and == for equality in subset() [OK]
Common Mistakes:
  • Using | instead of & for AND
  • Using = instead of == for comparison
  • Separating conditions with commas
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