对于每一行,返回最大值的列名,同时删除关系

时间:2015-08-10 05:16:41

标签: 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(或类似的东西)的联系。

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

1 个答案:

答案 0 :(得分:5)

此处尝试使用max.col

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