Here is my data example:
>dat <- matrix(c(59,50,48,44,44,NA,78,59,42,67,51,NA,72,64,64),byrow=TRUE,ncol=3)
>k <- apply(dat, 1, function(x) which(x == min(x, na.rm = TRUE)))
>k
[[1]]
[1] 3
[[2]]
[1] 1 2
[[3]]
[1] 3
[[4]]
[1] 2
[[5]]
[1] 2 3
But, I want the output like this:
k
3 2 3 2 3
Many thanks in advance.
do you want a maximum index for each row?
then,
> k <- apply(dat, 1, function(x) max(which(x == min(x, na.rm = TRUE))))
> k
[1] 3 2 3 2 3
will do that.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With