这是我的数据示例:
>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
但是,我想要这样的输出:
k
3 2 3 2 3
提前谢谢了。
最佳答案
你想要每行的最大索引吗?
然后,
> k <- apply(dat, 1, function(x) max(which(x == min(x, na.rm = TRUE))))
> k
[1] 3 2 3 2 3
会这样做。
关于R:当有平局时,在每行中查找具有最小值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5495289/