Быстрый доступ к элементу матрицы, где индексы задаются другими матрицами - PullRequest
1 голос
/ 30 апреля 2019

Мне дана матрица 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?

1 Ответ

2 голосов
/ 30 апреля 2019

Попробуйте это:

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

или

array(M[cbind(c(A), c(B))], dim(M))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...