Valor de índice para la matriz en R?

¿Existe una función para obtener un índice (número de fila y número de columna) para una matriz?

Supongamos que tengo una matriz simple:

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

¿Hay una manera fácil de recuperar algo como c (3, 5) para el número "23", por ejemplo? En este caso, diciendo.which(a==23) sólo devuelve 23.

Esto parece funcionar pero estoy seguro de que hay una mejor manera:

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta