Я ищу способ получить второй (третий, четвертый и т. Д.) Наименьший/самый большой элемент списка в R. Используя who.min/which.max Я придумал следующее решение для второго по величине элемента:Как получить второй наименьший/самый большой элемент в списке
test <- c(9,1,3,5,2,4,10)
(test[-which.max(test)])[which.max(test[-which.max(test)])]]
Однако, это некрасиво и не очень масштабов. Есть ли лучший способ получить x наименьший/наибольший элемент/значение списка?
Http: // StackOverflow .com/questions/2453326/fastest-way-to-find-second-third-high-low-value-in-vector-or-column, это выглядит актуальным, но я все еще не вижу ни одного из O (n) решения, частичная сортировка по-прежнему O (nlogn) – Shape