Допустим, у меня есть матрица:
mat <- matrix(1:25,nrow=5,ncol=5)
Я хотел бы извлечь значения из этой матрицы на основе матрицы индексов строк и другой матрицы индексов столбцов, скажем:
row_indices <- matrix(c(1,3,2,5),nrow=2,ncol=2)
col_indices <- matrix(c(1,4,3,2),nrow=2,ncol=2)
Итак, мой вывод должен быть:
[,1] [,2]
[1,] 1 12
[2,] 18 10
Как мне сделать это эффективно?
array(mat[cbind(c(row_indices), c(col_indices))], dim(row_indices))
[,1] [,2]
[1,] 1 12
[2,] 18 10