[R] problems to report indexes when I have two min value
Jean-Christophe BOUËTTÉ
jcbouette at gmail.com
Fri Sep 16 18:13:09 CEST 2011
Hi there,
Assuming you would prefer to have only one min per row:
apply(dat,1,which.min)
there is a link to this function in the help page for ?min.
JC
2011/9/16 marlene marchena <marchenamarlene at gmail.com>:
> Hi,
>
> I need to repor the index of a min value of each row in a matrix, but I
> don't know how to do that when I have more than one min value.
>
> Here is my example
>
>> dat <-
> matrix(c(5.4,4.8,5.6,4.8,NA,4.4,4.6,3.4,NA,NA,4,2.4,NA,NA,NA,2),byrow=TRUE,ncol=4)
>
>> dat
> [,1] [,2] [,3] [,4]
> [1,] 5.4 4.8 5.6 4.8
> [2,] NA 4.4 4.6 3.4
> [3,] NA NA 4.0 2.4
> [4,] NA NA NA 2.0
>> k <- apply(dat, 1, function(x) which(x == min(x, na.rm = TRUE)))
>> k
> [[1]]
> [1] 2 4
>
> [[2]]
> [1] 4
>
> [[3]]
> [1] 4
>
> [[4]]
> [1] 4
>
> But I need an output like this
>
> k<- 2 or 4, 4, 4, 4
>
> Someone could help me with this issue.
>
> Thanks in advance,
>
> Marlene.
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
>
More information about the R-help
mailing list