Convert Data Frame Rows to List in R (Example)

 

In this post you’ll learn how to store each row of a data frame as a list element in R programming.

Table of contents:

Let’s dive right into the exemplifying R code.

 

Creation of Exemplifying Data

In the example of this R tutorial, we’ll use the following example data frame:

data <- data.frame(x1 = 1:5,                      # Create example data
                   x2 = letters[1:5],
                   x3 = "x")
rownames(data) <- paste0("row", 1:5)              # Specify row names of data
data                                              # Print example data
#      x1 x2 x3
# row1  1  a  x
# row2  2  b  x
# row3  3  c  x
# row4  4  d  x
# row5  5  e  x

As you can see based on the RStudio console output, our data frame contains five rows and three columns. The row names are numerated from row1 to row5.

 

Example: How to Store Each Row of a Data Frame in a List

If we want to convert the rows of this data frame into list elements, we can use a combination of the split, seq, and nrow functions. Consider the following R code:

data_list <- split(data, seq(nrow(data)))         # Convert rows to list
data_list                                         # Print list
# $`1`
# x1 x2 x3
# row1  1  a  x
# 
# $`2`
# x1 x2 x3
# row2  2  b  x
# 
# $`3`
# x1 x2 x3
# row3  3  c  x
# 
# $`4`
# x1 x2 x3
# row4  4  d  x
# 
# $`5`
# x1 x2 x3
# row5  5  e  x

The previous R syntax converted our data frame rows into a list. Please note that the R code of this tutorial is based on a thread on Stack Overflow.

 

Example Continued: Modify Names of List Elements

You may say that the list we created in Example 1 is difficult to read, since the list elements are just numbered from 1 to 5. With the following R code, we can change the names of our list elements to the row names of our input data:

data_list <- setNames(split(data,                 # Modify names of list elements
                            seq(nrow(data))),
                      rownames(data))
data_list
# $row1
# x1 x2 x3
# row1  1  a  x
# 
# $row2
# x1 x2 x3
# row2  2  b  x
# 
# $row3
# x1 x2 x3
# row3  3  c  x
# 
# $row4
# x1 x2 x3
# row4  4  d  x
# 
# $row5
# x1 x2 x3
# row5  5  e  x

Looks good!

 

Video, Further Resources & Summary

I have recently released a video on my YouTube channel, which explains the examples of this article. You can find the video below:

 

The YouTube video will be added soon.

 

In addition, you could have a look at some of the other articles of this website. Some tutorials are listed below.

 

Summary: This article showed how to create a list consisting of the rows of a data frame in the R programming language. Don’t hesitate to let me know in the comments below, if you have additional questions.

 



Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.

Menu
Top