R:使用索引向量访问2D矩阵的元素

时间:2020-04-12 17:45:01

标签: r matrix vector 2d

假设我有一个3 X 15的矩阵“ phi”,我想从phi创建一个与i,j组合相对应的条目向量,其中i是长度为900的数字1:3的向量,而j是1:15的长度为900的向量。换句话说,我想要一个phi值的长度为900的向量,其中第一个元素是phi [i [1],j [1]],第二个元素是phi [i [2],j [2]],等

我最初的想法是phi_list <- phi[i, j],但这似乎可以归还i,j值的所有组合。那么,我将如何构建这样的向量?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

在这种情况下,我们可以将索引用作matrix,其中i用于行索引,'j'用于列索引

phi[cbind(i, j)]
#[1]  6 18 35

如果我们在'i'和'j'中使用ij向量,它将通过包含索引中包括的行和列而不是返回matrix选择与位置匹配的元素

数据

set.seed(24)
phi <- matrix(1:50, 5, 10)
i <- c(1, 3, 5)
j <- c(2, 4, 7)