从矢量中删除两个最大的唯一数字

时间:2015-11-16 01:06:17

标签: r

我有x作为

x <- c("7", "2", "3", "8", "8")

我想要输出

[1] "2" "3" "8"

并删除8和7中的一个。因此删除最大的两个数字之一。

3 个答案:

答案 0 :(得分:10)

这可能是match()

x[-match(tail(sort(unique(x)), 2), x)]
# [1] "2" "3" "8"

答案 1 :(得分:6)

使用which.max

的另一个选项
x[-c(which.max(x), match(max(x[x != max(x)]), x))]    
#[1] 2 3 8

答案 2 :(得分:5)

有很多方法可以实现这一目标。我认为矢量x应该被转换为数字,但这可行。

type