Bird
Raised Fist0
R Programmingprogramming~20 mins

Nested lists in R Programming - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Nested List Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of nested list indexing
What is the output of the following R code?
R Programming
nested_list <- list(a = list(1, 2, 3), b = list(4, 5, 6))
result <- nested_list$a[[2]]
print(result)
A[1] 3
B[1] 2
C[1] 1
DNULL
Attempts:
2 left
💡 Hint
Remember that [[ ]] extracts the element itself, not a sublist.
❓ Predict Output
intermediate
2:00remaining
Length of nested list element
What is the value of length(nested_list$b) after running this code?
R Programming
nested_list <- list(a = list(1, 2, 3), b = list(4, 5, 6))
length(nested_list$b)
A3
B1
C6
DNULL
Attempts:
2 left
💡 Hint
length() returns the number of elements in the list, not the sum of elements.
❓ Predict Output
advanced
2:00remaining
Output of nested list modification
What is the output of this R code?
R Programming
nested_list <- list(a = list(1, 2), b = list(3, 4))
nested_list$a[[2]] <- 10
print(nested_list$a)
AError: object of type 'closure' is not subsettable
B
[[1]] 1
[[2]] 2
C[1] 1 10
D
[[1]] 1
[[2]] 10
Attempts:
2 left
💡 Hint
Using [[ ]] allows you to replace the element inside the nested list.
❓ Predict Output
advanced
2:00remaining
Accessing deeply nested list element
What is the output of this code?
R Programming
nested_list <- list(x = list(y = list(z = 42)))
print(nested_list$x$y$z)
A[1] 42
BNULL
CError: object 'z' not found
D[1] "42"
Attempts:
2 left
💡 Hint
Use $ to access named elements inside nested lists.
🧠 Conceptual
expert
2:00remaining
Number of elements in a nested list
Given the nested list below, how many top-level elements does it have?
R Programming
nested_list <- list(alpha = list(1, 2), beta = list(3, 4), gamma = 5)
A5
B2
C3
D1
Attempts:
2 left
💡 Hint
Count only the elements directly inside nested_list, not inside sublists.

Practice

(1/5)
1. What is a nested list in R?
easy
A. A list with only numeric elements
B. A list that contains other lists as elements
C. A vector with mixed data types
D. A matrix with rows and columns

Solution

  1. Step 1: Understand list structure in R

    Lists in R can hold different types of elements, including other lists.
  2. Step 2: Define nested list

    A nested list is a list where some elements are themselves lists, allowing complex data grouping.
  3. Final Answer:

    A list that contains other lists as elements -> Option B
  4. Quick Check:

    Nested list = list inside list [OK]
Hint: Nested lists hold lists inside lists for complex data [OK]
Common Mistakes:
  • Confusing nested lists with vectors
  • Thinking nested lists must be numeric
  • Mixing up matrices and lists
2. Which of the following is the correct way to create a nested list in R?
easy
A. nested <- list(a = 1, b = list(c = 2, d = 3))
B. nested <- c(a = 1, b = c(c = 2, d = 3))
C. nested <- matrix(c(1, 2, 3, 4), nrow=2)
D. nested <- data.frame(a = 1, b = 2)

Solution

  1. Step 1: Identify list creation syntax

    Use list() to create lists; nested lists are lists inside list() calls.
  2. Step 2: Check each option

    nested <- list(a = 1, b = list(c = 2, d = 3)) uses list() with a nested list inside, which is correct syntax for nested lists.
  3. Final Answer:

    nested <- list(a = 1, b = list(c = 2, d = 3)) -> Option A
  4. Quick Check:

    list() with list() inside = nested list [OK]
Hint: Use list() inside list() to nest lists [OK]
Common Mistakes:
  • Using c() instead of list() for nested lists
  • Confusing data.frame or matrix with lists
  • Missing nested list syntax
3. What is the output of the following R code?
nested <- list(x = 10, y = list(a = 5, b = 15))
nested$y$a
medium
A. 10
B. NULL
C. 15
D. 5

Solution

  1. Step 1: Understand list structure

    nested is a list with element y, which is itself a list containing a=5 and b=15.
  2. Step 2: Access nested element

    nested$y$a accesses element 'a' inside the nested list 'y', which is 5.
  3. Final Answer:

    5 -> Option D
  4. Quick Check:

    nested$y$a = 5 [OK]
Hint: Use $ to access nested list elements stepwise [OK]
Common Mistakes:
  • Accessing nested elements with single brackets
  • Confusing element names
  • Expecting the outer element value
4. Identify the error in this R code for nested lists:
nested <- list(a = 1, b = list(c = 2, d = 3))
value <- nested$b[c]
medium
A. Missing assignment operator <-
B. Incorrect list creation syntax
C. Using single brackets instead of double brackets to access list element
D. Using $ instead of [[ ]] to access nested list

Solution

  1. Step 1: Understand list element access

    To access a single element by name in a list, use double brackets [[ ]] or $; single brackets [ ] return a sublist.
  2. Step 2: Analyze the code

    nested$b[c] uses single brackets with a character index, which returns a sublist, not the element value.
  3. Final Answer:

    Using single brackets instead of double brackets to access list element -> Option C
  4. Quick Check:

    Use [[ ]] or $ for single element access [OK]
Hint: Use [[ ]] or $ to get single list elements, not [ ] [OK]
Common Mistakes:
  • Using [ ] returns sublist, not element
  • Confusing list and vector indexing
  • Forgetting to use quotes for names
5. Given a nested list data <- list(group1 = list(scores = c(10, 20)), group2 = list(scores = c(15, 25))), how do you create a new list with the average score of each group?
hard
A. averages <- list(group1 = mean(data$group1$scores), group2 = mean(data$group2$scores))
B. averages <- list(group1 = sum(data$group1$scores), group2 = sum(data$group2$scores))
C. averages <- list(group1 = data$group1$scores[1], group2 = data$group2$scores[1])
D. averages <- list(group1 = length(data$group1$scores), group2 = length(data$group2$scores))

Solution

  1. Step 1: Access nested scores vectors

    Use data$group1$scores and data$group2$scores to get numeric vectors for each group.
  2. Step 2: Calculate mean for each group

    Apply mean() function to each scores vector to get average scores.
  3. Step 3: Create new list with averages

    Assign the calculated means to a new list with same group names.
  4. Final Answer:

    averages <- list(group1 = mean(data$group1$scores), group2 = mean(data$group2$scores)) -> Option A
  5. Quick Check:

    mean() on nested scores = averages list [OK]
Hint: Use mean() on nested vectors accessed by $ [OK]
Common Mistakes:
  • Using sum() instead of mean()
  • Accessing scores incorrectly
  • Confusing length with average
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