Using R
Say for example you have a matrix such as the one below.
> C<-matrix(c(0,-7,2,8,0,0,3,7,0,3,0,3,0,0,0,0),nrow=4,byrow=TRUE)
> C
[,1] [,2] [,3] [,4]
[1,] 0 -7 2 8
[2,] 0 0 3 7
[3,] 0 3 0 3
[4,] 0 0 0 0
How do you find the column number of the smallest element in a certain row. For example I want to know what column number the smallest element in row 1 is. Therefore the output should just be 2. As the smallest element in row 1 is -7 and that is in column 2. I'm assuming the answer is very easy but i just can't seem to do it! I tried doing the following but it just gives me the answer of 5.
> inds = which(C == min(C[1,]))
> inds
[1] 5
Can someone also tell me what the 5 means in this particular case?
Thanks
If there is only a single minimum for each row you can find it with
or (from R: finding column with minimum value in each row when there is a tied). See
?max.col
for more options.edit (thanks to @flodel in the comments)
You can do this for individual rows by
Or if there are multiple matches
You get
5
, as-7
is the fifth element of the matrix as it goes column wise. Look atc(C)