r - 根据行索引的 matrix 和列索引的 matrix 从 matrix 中提取 values

假设我有一个 matrix:

mat <- matrix(1:25,nrow=5,ncol=5)

我想根据行索引的 matrix 和列索引的另一个 matrix 从此 matrix 中提取 values ,例如:

row_indices <- matrix(c(1,3,2,5),nrow=2,ncol=2)
col_indices <- matrix(c(1,4,3,2),nrow=2,ncol=2)

所以我的输出应该是:

[,1] [,2]
[1,]    1   12
[2,]   18   10

我将如何以有效的方式做到这一点?

回答1

array(mat[cbind(c(row_indices), c(col_indices))], dim(row_indices))

     [,1] [,2]
[1,]    1   12
[2,]   18   10

相似文章

c++ - 模板类的标量乘法不起作用

当我进行标量乘法时,会发生此错误。我正在使用模板类对矩阵执行这些操作。我一直试图掌握这些概念,但我似乎失败了。任何帮助表示赞赏。main.cpp里面的main函数Matrix<int,3,3>m4;M...

最新文章