How to find the row and column number for the minimum and maximum values in an R matrix?


A matrix can have one or more than one minimum and maximum values. Also, the size of the matrix can be just one column and multiple rows or thousands of columns and thousands of rows. The row number and column number for the minimum and maximum values in a matrix can be found by using the following syntax −

For Maximum

which(“Matrix_Name”==min(“Matrix_Name”),arr.ind=TRUE)

For Minimum>

which(“Matrix_Name”==max(“Matrix_Name”),arr.ind=TRUE)

Example

 M1<-matrix(1:25,ncol=5)
 M1
   [,1] [,2] [,3] [,4] [,5]
[1,] 1 6 11 16 21
[2,] 2 7 12 17 22
[3,] 3 8 13 18 23
[4,] 4 9 14 19 24
[5,] 5 10 15 20 25
which(M1==max(M1),arr.ind=TRUE)
row col
[1,] 5 5
which(M1==min(M1),arr.ind=TRUE)
row col
[1,] 1 1
M2<-matrix(rnorm(25),ncol=5)
M2
         [,1]          [,2] [,3] [,4] [,5]
[1,] -1.4194231 0.5835903 1.4665574 -1.6387592 0.7048224
[2,] 0.3352523 -0.2876772 1.1042358 -0.1989225 0.7347379
[3,] -1.5743547 0.4834883 -1.1198968 -0.6436345 -0.1437520
[4,] -2.1785618 1.6925537 1.5120286 -1.0856419 2.5269400
[5,] 0.9766656 2.0222188 -0.2966057 -0.1720232 -0.2257814
which(M2==max(M2),arr.ind=TRUE)
row col
[1,] 4 5
which(M2==min(M2),arr.ind=TRUE)
  row col
[1,] 4 1
M3<-matrix(rnorm(25,2.5),ncol=5)
M3
         [,1]    [,2]     [,3]    [,4]     [,5]
[1,] 3.670105 3.256981 1.925999 2.9184274 1.728779
[2,] 3.765994 3.205739 3.695557 4.0209779 2.434685
[3,] 1.748879 2.480154 3.676999 2.0010259 3.159799
[4,] 1.582952 2.676389 2.396969 0.3748771 1.165021
[5,] 1.720008 2.329690 2.409057 3.8057733 3.965829
which(M3==max(M3),arr.ind=TRUE)
row col
[1,] 2 4
which(M3==min(M3),arr.ind=TRUE)
row col
[1,] 4 4
M4<-matrix(rpois(36,2),ncol=6)
M4
   [,1] [,2] [,3] [,4] [,5] [,6]
[1,] 2    2    1    3   1    1
[2,] 3    1    0    1   0    3
[3,] 0    1    4    1   4    2
[4,] 1    3    2    1   1    4
[5,] 1    2    0    1   2    1
[6,] 1    1    0    3   0    2
which(M4==max(M4),arr.ind=TRUE)
  row col
[1,] 3 3
[2,] 3 5
[3,] 4 6
which(M4==min(M4),arr.ind=TRUE)
  row col
[1,] 3 1
[2,] 2 3
[3,] 5 3
[4,] 6 3
[5,] 2 5
[6,] 6 5
M5<-matrix(rpois(36,10),ncol=6)
M5
    [,1] [,2] [,3] [,4] [,5] [,6]
[1,] 11   10   13   10   10    8
[2,]  9    8   10    8    8    9
[3,]  8   11    8    7    9   10
[4,]  6   15    5   14    6    8
[5,] 11    7   11    9    8   12
[6,] 9    15   17   11    7   14
which(M5==max(M5),arr.ind=TRUE)
  row col
[1,] 6 3
which(M5==min(M5),arr.ind=TRUE)
  row col
[1,] 4 3
M6<-matrix(runif(36,2,5),ncol=6)
M6
        [,1]    [,2]     [,3]     [,4]     [,5]    [,6]
[1,] 3.652903 2.144873 4.801257 2.941041 4.132117 3.925266
[2,] 3.819255 2.695592 4.610663 2.062571 4.881452 3.256637
[3,] 2.203137 2.821375 2.481268 2.069606 4.042738 4.101515
[4,] 2.499690 3.593453 4.813508 2.304928 2.285617 3.713846
[5,] 3.684496 2.369803 4.974936 4.422779 2.097394 4.059585
[6,] 3.573778 3.780176 3.772600 2.699202 2.060818 2.948795
which(M6==max(M6),arr.ind=TRUE)
  row col
[1,] 5 3
which(M6==min(M6),arr.ind=TRUE)
row col
[1,] 6 5

Updated on: 28-Aug-2020

260 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements