我给了一个矩阵M
。我现在需要确定一个相同维度的矩阵,由下式定义
N_{i,j} = M_{A(i,j),B(i,j)}
对于相同维度的两个矩阵A
和B
,它们定义了索引。
举个例子,
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
?
试试这个:
replace(M, TRUE, M[cbind(c(A), c(B))])
要么
array(M[cbind(c(A), c(B))], dim(M))