How to Create a List of Lists in R (With Example)

In R, a list of lists can be created by using the list() function to create lists of elements and then combining them together using the c() function. As an example, a list of lists containing the numbers 1 to 6 can be created by first creating three individual lists with the numbers 1 to 2, 3 to 4, and 5 to 6, and then combining them together with the c() function. This will create a list of lists with the numbers 1 to 6.


You can use the following basic syntax to create a list of lists in R:

#define lists
list1 <- list(a=5, b=3)
list2 <- list(c='A', d='B')

#create list of lists
list_of_lists <- list(list1, list2) 

The following example shows how to use this syntax in practice.

Example: Create List of Lists in R

The following code shows how to create a list that contains 3 lists in R:

#define lists
list1 <- list(a=5, b=3)
list2 <- list(c='A', d=c('B', 'C'))
list3 <- list(e=c(20, 5, 8, 16))

#create list of lists
list_of_lists <- list(list1, list2, list3)

#view the list of lists
list_of_lists

[[1]]
[[1]]$a
[1] 5

[[1]]$b
[1] 3


[[2]]
[[2]]$c
[1] "A"

[[2]]$d
[1] "B" "C"


[[3]]
[[3]]$e
[1] 20  5  8 16

We can then use single brackets [ ] to access a specific list.

For example, we can use the following syntax to access the second list:

#access second list
list_of_lists[2]

[[1]]
[[1]]$c
[1] "A"

[[1]]$d
[1] "B" "C"

We can also use double brackets [[ ]] and the dollar sign operator $ to access a specific element within a specific list.

For example, we can use the following syntax to access element d within the second list:

#access element 'd' within second list
list_of_lists[[2]]$d

[1] "B" "C"

You can use similar syntax to access any element within any list.

The following tutorials explain how to perform other common tasks with lists in R:

x