試す
x <- matrix(1:10, ncol=2)
y <- x+300
MATS <- list(x, y) # use 'list' instead of 'c' to create a list of matrices
MATS
[[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
ここではMATS[[1]]
、あたかもそうであるかのように参照する必要がありますx
既存のリストに新しいマトリックスを追加する場合は、
z <- x+500
MATS[[3]] <- z # appeding a new matrix to the existing list
MATS
[[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
このアプローチの欠点の1つは、新しいマトリックスを追加する必要があるリスト内の位置を知っている必要があることです。それがわからない場合、または単にこのアプローチが必要ない場合は、次のトリックがあります。
unlist(list(MATS, list(z)), recursive=FALSE) # will give u the same list :D