r - 对于每一行,返回最大值的列名,同时删除并列

标签 r

我有这个数据:

x = c(1,1,3, 3, 2)
y = c(1,2,1, 1, 2)
z = c(1,1,2, 3, 7)

data <- data.frame(x, y, z)

我想得到一个向量,指示每行中最大值的列号;同时消除联系;或表明与 NA 的关系。

我试过which.max:

HighestIncludingTies <- apply(data, 1, which.max)

虽然这并不表示与 NA(或类似的东西)有联系。

非常感谢您的帮助或指导!

最佳答案

这是使用 max.col 的尝试:

HighsNoTies <- max.col(data,"first")
replace(HighsNoTies, HighsNoTies != max.col(data,"last"), NA)
#[1] NA  2  1 NA  3

关于r - 对于每一行,返回最大值的列名,同时删除并列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31912051/

相关文章:

r - 在这种情况下如何使用 rbindlist(data) 而不是 do.call(rbind, data)

从 R 的 C 代码创建共享对象

r - 在 R 中创建空间集群 LISA map

r - R 中干净、简单的函数工厂

r - 在正则表达式 R 中编写特殊字符列表

r - sm.密度.compare() : displaying multiple density estimations in a single plot

r - 相互合并列表中的数据帧

r - 重复进行大量分析的策略

r - 使用 ctree 显示每个节点的体积,在 R 中绘图

r - 当从两个数据框构建绘图时有两个图例