R:如果存在并列关系,则在每一行中查找最小值 [英] R: finding column with minimum value in each row when there is a tied
本文介绍了R:如果存在并列关系,则在每一行中查找最小值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的数据示例:
>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
k
3 2 3 2 3
非常感谢.
推荐答案
可以使用max.col(-dat, "last")
,但是必须首先将NA
s设置为Inf
.
You can use max.col(-dat, "last")
, but you'll have to set NA
s to Inf
first.
这篇关于R:如果存在并列关系,则在每一行中查找最小值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文