快速访问矩阵元素,其中索引由其他矩阵给出

问题描述 投票:1回答:1

我给了一个矩阵M。我现在需要确定一个相同维度的矩阵,由下式定义

N_{i,j} = M_{A(i,j),B(i,j)}

对于相同维度的两个矩阵AB,它们定义了索引。

举个例子,

set.seed(1)
M <- matrix(LETTERS[1:(4*6)], ncol=6)
A <- matrix(sample(c(1:4), 4*6, replace=TRUE), ncol=6)
B <- matrix(sample(c(1:6), 4*6, replace=TRUE), ncol=6)

我现在如何快速确定N

r matrix
1个回答
2
投票

试试这个:

replace(M, TRUE, M[cbind(c(A), c(B))])

要么

array(M[cbind(c(A), c(B))], dim(M))
© www.soinside.com 2019 - 2024. All rights reserved.