Convert Matrix to List of Column-Vectors in R (2 Examples)


In this R article you’ll learn how to divide a matrix into a list of column-vectors.

The article will contain the following:

Let’s dig in.


Introducing Example Data

We’ll use the data below as basement for this R programming tutorial:

data <- matrix(1:15, ncol = 3)# Create example matrix
data                                       # Print example matrix


table 1 matrix convert matrix list column vectors r


Have a look at the previous table. It shows that our example matrix has five data points and three columns.


Example 1: Split Matrix into List of Column-Vectors Using split(), rep(), ncol() & nrow()

This example illustrates how to use the split, rep, ncol, and nrow functions to convert the columns of a matrix into a list of vectors.

Have a look at the following R code:

my_list1 <- split(data,                    # Split matrix into list
                      each = nrow(data)))
my_list1                                   # Print list of column-vectors
# $`1`
# [1] 1 2 3 4 5
# $`2`
# [1]  6  7  8  9 10
# $`3`
# [1] 11 12 13 14 15

As you can see in the RStudio console, we have created a list object containing three list elements. Each of these list elements contains the values of one of the matrix columns.


Example 2: Split Matrix into List of Column-Vectors Using lapply(), seq_len(), ncol() & function()

In Example 2, I’ll show an alternative to the R code of Example 1 that is based on the lapply, seq_len, ncol, and function commands.

Consider the following R programming syntax:

my_list2 <- lapply(seq_len(ncol(data)),    # Split matrix into list
                   function(x) data[ , x])
my_list2                                   # Print list of column-vectors
# [[1]]
# [1] 1 2 3 4 5
# [[2]]
# [1]  6  7  8  9 10
# [[3]]
# [1] 11 12 13 14 15

Te list that we have created in this example is the same as in Example 1. Which code you want to use is a matter of taste.


Video & Further Resources

Have a look at the following video of my YouTube channel. I’m explaining the examples of this article in the video.


Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.

YouTube Content Consent Button Thumbnail

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.


In addition, you could have a look at the other tutorials on


You have learned in this article how to split the variables of a matrix into a list of vectors in the R programming language. Let me know in the comments below, if you have additional questions.


Subscribe to the Statistics Globe Newsletter

Get regular updates on the latest tutorials, offers & news at Statistics Globe.
I hate spam & you may opt out anytime: Privacy Policy.

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.