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

R ProgrammingServer Side ProgrammingProgramming

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
Published on 28-Aug-2020 13:12:38