R:如果存在并列关系,则在每一行中查找最小值 [英] R: finding column with minimum value in each row when there is a tied

查看:78
本文介绍了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 NAs to Inf first.

这篇关于R:如果存在并列关系,则在每一行中查找最小值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆