Одним из способов использования логического сравнения является:
c(vector1[-1], FALSE) | vector1 | c(FALSE, vector1[-length(vector1)])
Значение равно TRUE
в позиции, если предшествующим является TRUE
, или позицией является TRUE
, или следующей позицией является TRUE
, Первое и последнее значения являются границами и не имеют предшествующих или следующих значений, поэтому позиции заполняются на FALSE
.
Для более чем одной позиции здесь два:
lag <- 2
c(vector1[-(1:lag)], rep(FALSE, lag)) | vector1 | c(rep(FALSE, lag), vector1[-(length(vector1)-lag+1:length(vector1))])
[1] TRUE FALSE TRUE FALSE TRUE