# 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.

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:

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.

Subscribe to the Statistics Globe Newsletter