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 ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.