The given value of the matrix, obtaining coordinates

I have a matrix, I want to write a function, get the matrix element and return me the coordinate of the number inside the matrix. can someone give an idea on how to implement it?

> A
     [,1] [,2]
[1,]   10   20
[2,]   21   17
[3,]   13   25
[4,]   21   11
[5,]   31   24

eg

MyFunction (11)

> 11
> row 3, col 1
+4
source share
2 answers

which()takes an argument arr.ind=TRUEthat returns the indices of all the elements TRUEin the logical matrix to which it is applied.

## An example matrix
set.seed(1)
m <- matrix(sample(1:100, 10), ncol=2)
m
#      [,1] [,2]
# [1,]   27   86
# [2,]   37   97
# [3,]   57   62
# [4,]   89   58
# [5,]   20    6

## An example application 
which(m==58, arr.ind=TRUE)
#      row col
# [1,]   4   2
+12
source

It is hardly worth making an answer, for example, in the light of Josh’s answer, but an example of using arithmetic in R will be a custom form function:

getIndices <- function(flatMatch, nrow) {
  rows <- flatMatch %% nrow
  cols <- flatMatch %/% nrow + 1
  cbind(rows, cols)
}

, , , , , . , R , .

0

All Articles