Подмножество смежных значений вокруг одного значения - PullRequest
1 голос
/ 04 апреля 2019

У меня есть вектор чисел:

v <- seq(1, 50, .5)

Если я хочу поместить все смежные три значения в одно конкретное число: 25.

24 24.5 25
24.5 25 25.5
25 25.5 26

Существуют ли какие-либо удобные методы

Ответы [ 2 ]

3 голосов
/ 04 апреля 2019

Вы можете использовать абсолютную разницу:

v[abs(v-25) <= 1]
2 голосов
/ 04 апреля 2019

Здесь есть опция для поднабора значений вокруг значения 25, а затем преобразования их в matrix из 3 элементов каждый

v1 <- v[which(v == 25)  +  (-2:2)]
embed(v1, 3)[, 3:1]
#      [,1] [,2] [,3]
#[1,] 24.0 24.5 25.0
#[2,] 24.5 25.0 25.5
#[3,] 25.0 25.5 26.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...