[R] MAximum location

Milan Bouchet-Valat nalimilan at club.fr
Fri Dec 16 00:13:49 CET 2011


Le jeudi 15 décembre 2011 à 21:15 +0100, Trying To learn again a écrit :
> Hi all,
> 
> I have a matrix
> a<-c(2,3,4,Inf)
> 
> > b<-as.matrix(a)
>      [,1]
> [1,]    2
> [2,]    3
> [3,]    4
> [4,]  Inf
> 
> > range(b, finite=TRUE)[2] (this is the maximum)
> [1] 4
> 
> There is a pre-def function to extract the location (in terms of rows) of
> the value in the matrix.
> 
> In my example would be
> 
> 3 (max is in the third row)
> 
> The maximum is in the position (row) 3.
Maybe using this:
> row(b)[b == range(b, finite=TRUE)[2]]
[1] 3
> col(b)[b == range(b, finite=TRUE)[2]]
[1] 1

Not very short, since in you case involving Inf you cannot use
which.max() directly, but it works.

Regards



More information about the R-help mailing list