Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有对象列表的R abind函数_R - Fatal编程技术网

具有对象列表的R abind函数

具有对象列表的R abind函数,r,R,我希望使用包abind中的abind函数来连接大量的2d对象M1、M2。。。。。变成一个3d阵列 如果我这样做: abind(M_1, M_2, M_3, M_4, along=3) 我得到了想要的结果 但如果我生成一个列表矩阵: list_matrix <- list(ls(pattern="M_")) 我犯了一个错误 我错过了什么明显的东西吗?我想使用列表矩阵来避免手动写出M1等。如果我们需要矩阵列表,那么只需使用mget OP代码 ar2 <- abind(M_1, M_2

我希望使用包abind中的abind函数来连接大量的2d对象M1、M2。。。。。变成一个3d阵列

如果我这样做:

abind(M_1, M_2, M_3, M_4, along=3)
我得到了想要的结果

但如果我生成一个列表矩阵:

list_matrix <- list(ls(pattern="M_"))
我犯了一个错误

我错过了什么明显的东西吗?我想使用列表矩阵来避免手动写出M1等。

如果我们需要矩阵列表,那么只需使用mget

OP代码

ar2 <- abind(M_1, M_2, M_3, M_4, along=3)
all.equal(ar1, ar2, check.attributes = FALSE)
#[1] TRUE
数据 abindlist_矩阵,along=3对我来说很好,根据这里的答案:abindlist_矩阵,along=3对我来说很好,根据?abind-或者,可以提供一个且只有一个列表参数,其组件是要绑定在一起的对象。
list_matrix <- mget(ls(pattern="M_\\d+"))
ar1 <- do.call(abind, c(list_matrix, along = 3))
ar2 <- abind(M_1, M_2, M_3, M_4, along=3)
all.equal(ar1, ar2, check.attributes = FALSE)
#[1] TRUE
abind(list_matrix, along=3)
M_1 <- matrix(1:25, 5 , 5)
M_2 <- matrix(26:50, 5, 5)
M_3 <- matrix(51:75, 5, 5)
M_4 <- matrix(76:100, 5, 5)