How to create a list of matrix in R How to create a list of matrix in R r r

How to create a list of matrix in R


Try

x <- matrix(1:10, ncol=2)y <- x+300MATS <- list(x, y) # use 'list' instead of 'c' to create a list of matricesMATS[[1]]     [,1] [,2][1,]    1    6[2,]    2    7[3,]    3    8[4,]    4    9[5,]    5   10[[2]]     [,1] [,2][1,]  301  306[2,]  302  307[3,]  303  308[4,]  304  309[5,]  305  310

Here you have to refer to MATS[[1]] as if it were x

If you want to append a new matrix to the exiting list try

z <- x+500MATS[[3]] <- z  # appeding a new matrix to the existing listMATS[[1]]     [,1] [,2][1,]    1    6[2,]    2    7[3,]    3    8[4,]    4    9[5,]    5   10[[2]]     [,1] [,2][1,]  301  306[2,]  302  307[3,]  303  308[4,]  304  309[5,]  305  310[[3]]     [,1] [,2][1,]  501  506[2,]  502  507[3,]  503  508[4,]  504  509[5,]  505  510

One drawback of this approach is that you have to know the position in the list where you have to append the new matrix, if you don't know it or simply if you dont want this approach, then here's a trick:

unlist(list(MATS, list(z)), recursive=FALSE) # will give u the same list :D