You can use the following methods to combine a list of matrices in R:
Method 1: Combine List of Matrices by Rows
do.call(rbind, list_of_matrices)
Method 2: Combine List of Matrices by Columns
do.call(cbind, list_of_matrices)
The following examples show how to use each method in practice with the following two matrices in R:
#define matrices matrix1 <- matrix(1:6, nrow=3) matrix2 <- matrix(7:12, nrow=3) #view first matrix matrix1 [,1] [,2] [1,] 1 4 [2,] 2 5 [3,] 3 6 #view second matrix matrix2 [,1] [,2] [1,] 7 10 [2,] 8 11 [3,] 9 12
Example 1: Combine List of Matrices by Rows
The following code shows how to use the rbind function to combine a list of matrices by rows:
#create list of matrices
matrix_list <- list(matrix1, matrix2)
#combine into one matrix by rows
do.call(rbind, matrix_list)
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
[4,] 7 10
[5,] 8 11
[6,] 9 12
The two matrices have been combined into a single matrix by rows.
Example 2: Combine List of Matrices by Columns
The following code shows how to use the cbind function to combine a list of matrices by columns:
#create list of matrices
matrix_list <- list(matrix1, matrix2)
#combine into one matrix by columns
do.call(cbind, matrix_list)
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
The two matrices have been combined into a single matrix by columns.
Related: An Introduction to do.call in R
Additional Resources
The following tutorials explain how to perform other common tasks in R:
How to Create an Empty Matrix in R
How to Convert Data Frame to Matrix in R
How to Convert List to Matrix in R