У меня есть вектор целых чисел, и я хочу отфильтровать его, удалив компоненты, которые "изолированы". Что я имею в виду под "изолированным"? те компоненты, которые не лежат в 4-окрестности другого компонента. Компоненты в векторе упорядочены все больше, и повторений нет.
Например, если у меня есть c(1,2,3,8,15,16,17)
то мне нужно исключить 8
потому что не находится в 4-окрестности другого элемента.
Я пытался подать заявку
for (p in 1:(length(index)-2))
if((index[p+1]>3+index[p])&(index[p+2]>3+index[p+1])){index[p+1]<-0}
index<-index[index!=0]
где index
мой вектор интереса, но есть некоторые проблемы с логическим условием. Не могли бы вы дать мне несколько советов?
Заранее спасибо.