Представьте, что у вас есть матрица 5x5 и вы хотите выбрать значения, используя два вектора одинаковой длины, один из которых представляет строку индекса, а другой представляет столбец индекса:
m <- matrix(1:25, ncol = 5)
R <- c(1, 3, 5)
C <- c(2, 4, 4)
Требуемый результат здесь - один вектор из 6
(строка 1, столбец 2), 18
(строка 3, столбец 4), 20
(строка 5, столбец 4).
Лучшее, что я мог придумать, было :
diag(m[R,C])
Но это создает матрицу размером length(R) * length(C)
и поэтому медленно, если R и C длинные.
Как вы это делаете?