Минимальные и максимальные последовательные значения вектора - PullRequest
4 голосов
/ 18 февраля 2020

Мне нужно найти минимальное и максимальное значения вектора, но минимальное должно быть расположено внутри перед максимальным. Итак, с учетом вектора:

v <- c (8,2,1,3,5,7,4)

минимальное значение будет «1» (3-й элемент) и максимальное «7» (шестой элемент). Максимальное значение , а не будет действительно «8» (1-й элемент), потому что оно происходит до минимума «1» (3-й элемент).

Я посмотрел на функции 'min' и 'max' (и их более быстрые версии pmin и pmax), но, видимо, они способны находить только самые высокие минимальные и максимальные значения без каких-либо ограничений. То же самое для функции диапазона.

Кто-нибудь может помочь?

Ответы [ 2 ]

5 голосов
/ 18 февраля 2020

Вы можете сделать:

range(v[which.min(v):length(v)])

[1] 1 7
3 голосов
/ 18 февраля 2020

используя which.min вы получите индекс минимума. Это вы можете использовать для подмножества v до конца вашего вектора.

min <- min(v)
max <- max(v[ which.min(v): length(v)])

c(min, max)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...