📖 Scenario: You have a small table of fruit sales data. You want to look at only some columns to understand the sales better.
🎯 Goal: Learn how to use the select() function from the dplyr package in R to pick specific columns from a data frame.
📋 What You'll Learn
Create a data frame called fruit_sales with exact columns and values
Create a vector called columns_to_select with exact column names
Use select() with fruit_sales and columns_to_select to create a new data frame
Print the new data frame
💡 Why This Matters
🌍 Real World
Selecting specific columns from data is common when you want to focus on important information and ignore the rest.
💼 Career
Data analysts and scientists often use select() to prepare data for reports, charts, or further analysis.
Progress0 / 4 steps
1
Create the fruit sales data frame
Create a data frame called fruit_sales with these exact columns and values: Fruit: "Apple", "Banana", "Cherry" Quantity: 10, 15, 7 Price: 0.5, 0.3, 0.8
R Programming
Hint
Use data.frame() with named vectors for each column.
2
Create a vector of columns to select
Create a character vector called columns_to_select with these exact values: "Fruit" and "Price"
R Programming
Hint
Use c() to create a vector of column names.
3
Select columns using select()
Load the dplyr package with library(dplyr). Then create a new data frame called selected_data by using select() on fruit_sales with the columns in columns_to_select.
R Programming
Hint
Use all_of() inside select() to select columns by name from a vector.
4
Print the selected data
Print the selected_data data frame to see only the selected columns.
R Programming
Hint
Use print() to show the data frame in the console.
Practice
(1/5)
1. What does the select() function do in R's dplyr package?
easy
A. It adds new columns to the data frame.
B. It filters rows based on conditions.
C. It chooses specific columns from a data frame.
D. It sorts the data frame by a column.
Solution
Step 1: Understand the purpose of select()
The select() function is designed to pick columns from a data frame, not rows or sorting.
Step 2: Compare with other functions
Functions like filter() handle rows, arrange() sorts, and mutate() adds columns, so these are not what select() does.
Final Answer:
It chooses specific columns from a data frame. -> Option C
2. Which of the following is the correct syntax to select columns name and age from a data frame df using dplyr?
easy
A. select(name, age)
B. df.select(name, age)
C. select(name, age, df)
D. df %>% select(name, age)
Solution
Step 1: Recall dplyr pipe syntax
In dplyr, the pipe operator %>% passes df as the first argument to select().
Step 2: Check each option
A: select(name, age) misses the data frame df. B: df %>% select(name, age) uses pipe correctly. C: select(name, age, df) has wrong argument order. D: df.select(name, age) is not valid R syntax.
Final Answer:
df %>% select(name, age) -> Option D
Quick Check:
Use pipe %>% then select columns [OK]
Hint: Use pipe %>% before select() for clean code [OK]
Common Mistakes:
Wrong argument order in select()
Using dot notation like df.select()
Forgetting to load dplyr package
3. Given the data frame df with columns id, name, age, and score, what will be the output of this code?
library(dplyr)
df %>% select(name, score)
medium
A. A data frame with only columns name and score.
B. A data frame with all columns except name and score.
C. An error because select() needs row filtering.
D. A data frame with columns id and age only.
Solution
Step 1: Understand select() behavior
The select() function picks only the columns named inside it, here name and score.
Step 2: Confirm output columns
The output will be a data frame with just these two columns, dropping id and age.
Final Answer:
A data frame with only columns name and score. -> Option A
Quick Check:
select(name, score) = only those columns [OK]
Hint: select() keeps only listed columns, drops others [OK]
Common Mistakes:
Thinking select() drops listed columns
Expecting row filtering from select()
Confusing select() with filter()
4. Identify the error in this code snippet:
library(dplyr)
df %>% select('name', 'age')
medium
A. Missing pipe operator before select().
B. Using quotes around column names causes an error.
C. select() cannot be used with dplyr.
D. The data frame df is not defined.
Solution
Step 1: Check column name syntax in select()
In dplyr's select(), column names should be unquoted bare names, not strings.
Step 2: Understand consequences of quotes
Using quotes treats them as strings, causing select() to fail to find columns and throw an error.
Final Answer:
Using quotes around column names causes an error. -> Option B
Quick Check:
Column names unquoted in select() [OK]
Hint: Do not put quotes around column names in select() [OK]
Common Mistakes:
Quoting column names inside select()
Forgetting to load dplyr
Assuming select() filters rows
5. You have a data frame df with columns name, age, score, and grade. You want to select only name and score but rename score to points in the output. Which code does this correctly?
hard
A. df %>% select(name, points = score)
B. df %>% select(name, score = points)
C. df %>% rename(points = score) %>% select(name, score)
D. df %>% select(name, score) %>% mutate(points = score)
Solution
Step 1: Understand renaming in select()
dplyr allows renaming columns inside select() by using new_name = old_name syntax.
Step 2: Check each option
A: df %>% rename(points = score) %>% select(name, score) renames score to points, then selects score which no longer exists, error. B: df %>% select(name, score = points) reverses names, no points column exists, error. C: df %>% select(name, points = score) correctly selects name and renames score to points. D: df %>% select(name, score) %>% mutate(points = score) adds points but keeps score.
Final Answer:
df %>% select(name, points = score) -> Option A
Quick Check:
Rename inside select() with new = old [OK]
Hint: Rename columns inside select() using new_name = old_name [OK]
Common Mistakes:
Swapping new and old names
Using rename() without dropping old column
Using mutate() instead of select() for renaming
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.