Bird
Raised Fist0
R Programmingprogramming~20 mins

List creation in R Programming - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
List Creation Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of nested list creation
What is the output of this R code that creates a nested list?
R Programming
my_list <- list(a = 1:3, b = list(x = 10, y = 20))
str(my_list)
A
List of 3
 $ a: int 1
 $ b: int 2
 $ x: int 10
B
[1] 1 2 3
[1] 10 20
C
List of 2
 $ a: int [1:3] 1 2 3
 $ b:List of 2
  ..$ x: num 10
  ..$ y: num 20
DError in list(a = 1:3, b = list(x = 10, y = 20)) : object not found
Attempts:
2 left
💡 Hint
Remember that list() can contain other lists as elements.
🧠 Conceptual
intermediate
1:30remaining
Understanding list element types
Which statement about lists in R is true?
ALists can contain elements of different types, including other lists.
BLists can only contain elements of the same type, like vectors.
CLists are immutable and cannot be changed after creation.
DLists automatically convert all elements to characters.
Attempts:
2 left
💡 Hint
Think about what you can store inside a list in R.
🔧 Debug
advanced
2:00remaining
Identify the error in list creation
What error does this R code produce?
R Programming
my_list <- list(1, 2, 3
print(my_list)
ANo error, prints list with elements 1, 2, 3
BError: unexpected end of input
CError: object 'my_list' not found
DError: unexpected symbol in 'print(my_list)'
Attempts:
2 left
💡 Hint
Check if all parentheses are closed properly.
❓ Predict Output
advanced
1:30remaining
Output of list element modification
What is the output after modifying a list element in R?
R Programming
my_list <- list(a = 5, b = 10)
my_list$a <- my_list$a + 3
print(my_list$a)
A[1] 8
B[1] 5
CError: object 'a' not found
D[1] 10
Attempts:
2 left
💡 Hint
Look at how the element 'a' is changed by adding 3.
📝 Syntax
expert
2:00remaining
Correct syntax for creating a list with named and unnamed elements
Which option correctly creates a list with one named element 'x' and two unnamed elements 10 and 20?
Alist(x = 10, 20, 5)
Blist(5, x = 10, 20)
Clist(10, 20, x = 5)
Dlist(x = 5, 10, 20)
Attempts:
2 left
💡 Hint
Named elements can appear anywhere, unnamed elements keep their order.

Practice

(1/5)
1. What is the correct way to create an empty list in R?
easy
A. my_list <- []
B. my_list <- list()
C. my_list <- {}
D. my_list <- array()

Solution

  1. Step 1: Understand list creation in R

    In R, lists are created using the list() function.
  2. Step 2: Identify the correct syntax

    The syntax my_list <- list() creates an empty list. Other options use incorrect syntax for lists.
  3. Final Answer:

    my_list <- list() -> Option B
  4. Quick Check:

    list() creates an empty list [OK]
Hint: Use list() to create lists in R [OK]
Common Mistakes:
  • Using [] which is for vectors, not lists
  • Using {} which is for expressions or sets in other languages
  • Using array() which creates arrays, not lists
2. Which of the following is the correct syntax to add an element to the end of an existing list my_list in R?
easy
A. my_list[length(my_list) + 1] <- 5
B. my_list[length(my_list)] <- 5
C. my_list[[length(my_list) + 1]] <- 5
D. my_list[[length(my_list)]] <- 5

Solution

  1. Step 1: Understand list indexing in R

    Lists in R use double brackets [[ ]] to access or assign elements.
  2. Step 2: Add element at new position

    To add an element at the end, assign to my_list[[length(my_list) + 1]]. Single brackets return sublists, not elements.
  3. Final Answer:

    my_list[[length(my_list) + 1]] <- 5 -> Option C
  4. Quick Check:

    Use double brackets [[ ]] to add list elements [OK]
Hint: Use [[ ]] with length+1 to add list elements [OK]
Common Mistakes:
  • Using single brackets [] which return sublists
  • Assigning to existing last element index instead of length+1
  • Confusing vector indexing with list indexing
3. What is the output of the following R code?
my_list <- list(10, "apple", TRUE)
my_list[[length(my_list) + 1]] <- 3.14
my_list
medium
A. list(10, "apple", TRUE, 3.14)
B. list(10, "apple", TRUE)
C. list(10, "apple", TRUE, list(3.14))
D. Error: cannot add element

Solution

  1. Step 1: Initial list creation

    The list my_list starts with three elements: 10, "apple", and TRUE.
  2. Step 2: Adding new element at the end

    Using my_list[[length(my_list) + 1]] <- 3.14 adds 3.14 as the fourth element.
  3. Final Answer:

    list(10, "apple", TRUE, 3.14) -> Option A
  4. Quick Check:

    Adding element extends list length by 1 [OK]
Hint: Adding with [[length+1]] appends element [OK]
Common Mistakes:
  • Expecting no change to list
  • Thinking new element is nested list
  • Confusing single and double brackets
4. Identify the error in the following R code that tries to add an element to a list:
my_list <- list(1, 2, 3)
my_list[length(my_list) + 1] <- 4
medium
A. Using single brackets [] instead of double brackets [[ ]] for list element assignment
B. Using length(my_list) + 1 instead of length(my_list)
C. Assigning a number instead of a list
D. No error, code works fine

Solution

  1. Step 1: Understand list element assignment

    In R, list elements must be assigned with double brackets [[ ]] to assign the element itself.
  2. Step 2: Identify the mistake

    The code uses single brackets [] which assign a sublist, causing unexpected behavior or errors.
  3. Final Answer:

    Using single brackets [] instead of double brackets [[ ]] for list element assignment -> Option A
  4. Quick Check:

    Use [[ ]] to assign list elements [OK]
Hint: Use [[ ]] to assign list elements, not [ ] [OK]
Common Mistakes:
  • Using [] which returns sublists, not elements
  • Thinking length+1 is wrong index
  • Assuming assigning number is invalid
5. You want to create a list in R that contains a number, a character vector, and another list. Which code correctly creates this list?
hard
A. my_list <- list(42, list("a", "b"), list(TRUE, FALSE))
B. my_list <- list(42, ["a", "b"], list(TRUE, FALSE))
C. my_list <- list(42, c("a", "b"), [TRUE, FALSE])
D. my_list <- list(42, c("a", "b"), list(TRUE, FALSE))

Solution

  1. Step 1: Understand list elements types

    The list should contain a number, a character vector, and a nested list.
  2. Step 2: Check syntax for each element

    Character vectors use c(), lists use list(). Square brackets [] are invalid in R for these purposes.
  3. Step 3: Verify correct code

    my_list <- list(42, c("a", "b"), list(TRUE, FALSE)) correctly uses list(42, c("a", "b"), list(TRUE, FALSE)).
  4. Final Answer:

    my_list <- list(42, c("a", "b"), list(TRUE, FALSE)) -> Option D
  5. Quick Check:

    Use c() for vectors, list() for nested lists [OK]
Hint: Use c() for vectors and list() for nested lists [OK]
Common Mistakes:
  • Using square brackets [] which are invalid in R
  • Confusing vectors and lists syntax
  • Not nesting lists properly
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