Bird
Raised Fist0
R Programmingprogramming~30 mins

Nested lists in R Programming - Mini Project: Build & Apply

Choose your learning style10 modes available
Working with Nested Lists in R
📖 Scenario: Imagine you are organizing a small library. Each shelf holds a list of books, and each book has a title and an author. You want to store this information in a nested list in R.
🎯 Goal: Create a nested list in R where each shelf is a list of books, and each book is represented by a list containing its title and author. Then, extract and print the title of the first book on the second shelf.
📋 What You'll Learn
Create a nested list called library with two shelves.
Each shelf should be a list of two books.
Each book should be a list with elements title and author.
Create a variable called first_book_second_shelf to store the title of the first book on the second shelf.
Print the value of first_book_second_shelf.
💡 Why This Matters
🌍 Real World
Nested lists help organize complex data like library catalogs, menus, or survey responses.
💼 Career
Understanding nested data structures is important for data analysis, software development, and managing hierarchical information.
Progress0 / 4 steps
1
Create the nested list library
Create a nested list called library with two shelves. Each shelf should be a list of two books. Each book should be a list with elements title and author. Use these exact values:

First shelf:
- Book 1: title = "The Hobbit", author = "J.R.R. Tolkien"
- Book 2: title = "1984", author = "George Orwell"

Second shelf:
- Book 1: title = "Pride and Prejudice", author = "Jane Austen"
- Book 2: title = "To Kill a Mockingbird", author = "Harper Lee"
R Programming
Hint

Use list() to create lists inside lists. Each shelf is a list of two book lists.

2
Create variable first_book_second_shelf
Create a variable called first_book_second_shelf and assign it the title of the first book on the second shelf from the library nested list.
R Programming
Hint

Use $ and double square brackets [[ ]] to access nested list elements.

3
Print the title stored in first_book_second_shelf
Write a print() statement to display the value of the variable first_book_second_shelf.
R Programming
Hint

Use print() to show the value stored in a variable.

4
Final Output Check
Run the program to print the title of the first book on the second shelf.
R Programming
Hint
The output should be the title of the first book on the second shelf.

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