Самый быстрый способ найти вторым (треть …) самое высокое/самое низкое значение в векторе или столбце

R предлагает макс. и минута, но я не вижу действительно быстрый способ найти другое значение в порядке кроме сортировки целого вектора и, чем выбор значения x от этого вектора.

Есть ли более быстрый способ получить второе по высоте значение (например).?

Спасибо

153
задан jogo 20 January 2016 в 20:02
поделиться

2 ответа

Используйте ] частичный аргумент sort () . Для второго по величине значения:

n <- length(x)
sort(x,partial=n-1)[n-1]
190
ответ дан 23 November 2019 в 22:05
поделиться

Немного более медленная альтернатива, только для записей:

x <- c(12.45,34,4,0,-234,45.6,4)
max( x[x!=max(x)] )
min( x[x!=min(x)] )
49
ответ дан 23 November 2019 в 22:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: