A nested list in R is a list that contains other lists as its elements. It allows you to store complex, hierarchical data structures.
Click to reveal answer
beginner
How do you access an element inside a nested list in R?
You use double square brackets [[ ]] to access list elements. For nested lists, you chain them like list[[1]][[2]] to go deeper inside.
Click to reveal answer
beginner
Example: What does this code return?
mylist <- list(a = 1, b = list(c = 2, d = 3)) mylist$b$c
It returns 2. The element 'b' is a nested list, and 'c' is an element inside that nested list.
Click to reveal answer
intermediate
How can you add a new element to a nested list in R?
You can assign a new element using the $ or [[ ]] operator. For example, mylist$b$e <- 4 adds a new element 'e' inside the nested list 'b'.
Click to reveal answer
beginner
Why are nested lists useful in R programming?
Nested lists let you organize data in layers, like folders inside folders. This helps manage complex data like JSON, XML, or grouped information.
Click to reveal answer
How do you access the second element of a nested list named 'mylist' in R?
Amylist[2]
Bmylist[[2]]
Cmylist$2
Dmylist[[1]][[2]]
✗ Incorrect
Double brackets [[ ]] access list elements by position. So mylist[[2]] gets the second element.
What will this code return? mylist <- list(x = list(y = 5)) mylist$x$y
AError
Blist(x = list(y = 5))
CNULL
D5
✗ Incorrect
mylist$x accesses the nested list, and $y accesses the value 5 inside it.
Which operator is used to add a new element to a nested list in R?
A$
B+
C*
D-
✗ Incorrect
The $ operator is used to add or access named elements in lists.
If you want to access the element 'd' inside mylist <- list(a = 1, b = list(c = 2, d = 3)), which code is correct?
Amylist[[2]][[2]]
Bmylist$b$d
CBoth A and B
Dmylist$a$d
✗ Incorrect
Both mylist[[2]][[2]] and mylist$b$d correctly access the element 'd' inside the nested list.
What type of data structure is a nested list in R?
AList containing lists
BMatrix
CVector
DData frame
✗ Incorrect
A nested list is a list that contains other lists as elements.
Explain how to create and access elements in a nested list in R.
Think about lists inside lists and how to reach inner elements.
You got /3 concepts.
Describe a real-life scenario where nested lists in R would be useful.
Imagine folders inside folders or a family tree.
You got /3 concepts.
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
Step 1: Understand list structure in R
Lists in R can hold different types of elements, including other lists.
Step 2: Define nested list
A nested list is a list where some elements are themselves lists, allowing complex data grouping.
Final Answer:
A list that contains other lists as elements -> Option B
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
Step 1: Identify list creation syntax
Use list() to create lists; nested lists are lists inside list() calls.
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.
Final Answer:
nested <- list(a = 1, b = list(c = 2, d = 3)) -> Option A
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
Step 1: Understand list structure
nested is a list with element y, which is itself a list containing a=5 and b=15.
Step 2: Access nested element
nested$y$a accesses element 'a' inside the nested list 'y', which is 5.
Final Answer:
5 -> Option D
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
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.
Step 2: Analyze the code
nested$b[c] uses single brackets with a character index, which returns a sublist, not the element value.
Final Answer:
Using single brackets instead of double brackets to access list element -> Option C
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
Step 1: Access nested scores vectors
Use data$group1$scores and data$group2$scores to get numeric vectors for each group.
Step 2: Calculate mean for each group
Apply mean() function to each scores vector to get average scores.
Step 3: Create new list with averages
Assign the calculated means to a new list with same group names.