У меня есть вектор чисел:
v <- seq(1, 50, .5)
Если я хочу поместить все смежные три значения в одно конкретное число: 25.
24 24.5 25 24.5 25 25.5 25 25.5 26
Существуют ли какие-либо удобные методы
Вы можете использовать абсолютную разницу:
v[abs(v-25) <= 1]
Здесь есть опция для поднабора значений вокруг значения 25, а затем преобразования их в matrix из 3 элементов каждый
matrix
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