gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 20:42:29 27 4
gpt4 key购买 nike

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

> 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com