Challenge - 5 Problems
Pivot Wider Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
What is the output of this pivot_wider code?
Given the following R code using
pivot_wider, what will be the resulting data frame?R Programming
library(tidyr) library(dplyr) long_df <- data.frame( id = c(1, 1, 2, 2), key = c("A", "B", "A", "B"), value = c(10, 20, 30, 40) ) wide_df <- pivot_wider(long_df, names_from = key, values_from = value) print(wide_df)
Attempts:
2 left
💡 Hint
Think about how pivot_wider spreads key-value pairs into columns.
✗ Incorrect
pivot_wider takes the unique values in 'key' and makes them column names, filling with corresponding 'value' entries for each 'id'.
❓ Predict Output
intermediate2:00remaining
What does this pivot_wider code produce?
Consider this R code snippet using
pivot_wider. What is the output?R Programming
library(tidyr) long_df <- data.frame( person = c("Alice", "Alice", "Bob", "Bob"), measurement = c("height", "weight", "height", "weight"), value = c(165, 60, 180, 75) ) wide_df <- pivot_wider(long_df, names_from = measurement, values_from = value) print(wide_df)
Attempts:
2 left
💡 Hint
pivot_wider reshapes long data by spreading measurement names into columns.
✗ Incorrect
pivot_wider uses 'measurement' values as new column names and fills them with 'value' for each 'person'.
🔧 Debug
advanced2:00remaining
What error does this pivot_wider code raise?
What error will this R code produce when run?
R Programming
library(tidyr) long_df <- data.frame( id = c(1, 1, 2), key = c("X", "X", "X"), value = c(5, 10, 15) ) pivot_wider(long_df, names_from = key, values_from = value)
Attempts:
2 left
💡 Hint
Check if each id-key pair has only one value.
✗ Incorrect
pivot_wider requires unique combinations of id and key to fill values; duplicates cause an error.
❓ Predict Output
advanced2:00remaining
What is the output of pivot_wider with multiple value columns?
What will this R code output when run?
R Programming
library(tidyr) long_df <- data.frame( id = c(1, 1, 2, 2), key = c("A", "B", "A", "B"), val1 = c(10, 20, 30, 40), val2 = c(100, 200, 300, 400) ) wide_df <- pivot_wider(long_df, names_from = key, values_from = c(val1, val2)) print(wide_df)
Attempts:
2 left
💡 Hint
pivot_wider can handle multiple value columns by creating multiple new columns per key.
✗ Incorrect
pivot_wider creates new columns for each combination of value column and key, naming them like val1_A, val1_B, etc.
🧠 Conceptual
expert2:00remaining
How many rows are in the output after pivot_wider?
Given this long data frame with 6 rows and 3 unique ids, what will be the number of rows after applying pivot_wider with
names_from = variable and values_from = value?R Programming
library(tidyr) long_df <- data.frame( id = c(1,1,2,2,3,3), variable = c("X", "Y", "X", "Y", "X", "Y"), value = c(5, 10, 15, 20, 25, 30) ) wide_df <- pivot_wider(long_df, names_from = variable, values_from = value)
Attempts:
2 left
💡 Hint
pivot_wider groups by the columns not used in names_from or values_from.
✗ Incorrect
Since there are 3 unique ids, pivot_wider will produce 3 rows, one per id.