r - 如何在R中创建矩阵列表

标签 r list matrix

我想创建一个二维矩阵列表

> x
     [,1] [,2]
[1,]    1    6
[2,]    2    7
[3,]    3    8
[4,]    4    9
[5,]    5   10

> y
     [,1] [,2]
[1,]  301  306
[2,]  302  307
[3,]  303  308
[4,]  304  309
[5,]  305  310

> MATS<-c(x,y)

> MATS[1]
[1] 1

我希望能够引用 MATS[1] 就好像它在 x...

最佳答案

尝试

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

这种方法的一个缺点是您必须知道列表中必须附加新矩阵的位置,如果您不知道或者只是不想使用这种方法,那么这里有一个技巧:
unlist(list(MATS, list(z)), recursive=FALSE) # will give u the same list :D

关于r - 如何在R中创建矩阵列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13765144/

相关文章:

python - Pandas python 通过另一个列值从列表列中随机选择值

c# - 如何使用 LINQ 将列表垂直拆分为 n 个部分

bash - 对 grep 列出的*每个*项目执行操作

c++ - 如何在 Cuda 编程中对矩阵进行逐元素指数运算

Python 相当于 matlab corr2

r - 如何在 rvest html_session 中发帖?

r - match.call 函数的顺序也匹配

r - 合并两列类型因子

python - 获取数组中从右上角到左下角的所有对角线

r - 用 SVD 矩阵预测