Значение индекса для матрицы в R?

Есть ли функция для получения индекса (номер строки и номер столбца) для матрицы?

Предположим, что у меня есть простая матрица:

a <- matrix(1:50, nrow=5)

Есть ли простой способ вернуть что-то вроде c (3, 5) для числа «23», например? В этом случае, говоряwhich(a==23) просто возвращает 23.

Кажется, это работает, но я уверен, что есть лучший способ:

matrix.index <- function(a, value) {
  idx <- which(data.frame(a)==value)
  col.num <- ceiling(idx/nrow(a))
  row.num <- idx - (col.num-1) * nrow(a)
  return(c(row.num, col.num))
}
> matrix.index(a, 23)
[1] 3 5
> matrix.index(a, 50)
[1]  5 10

Ответы на вопрос(1)

Ваш ответ на вопрос