Здесь есть опция с rleid
для получения идентификатора кодировки длины серии вектора, используйте его в качестве переменной группировки, чтобы проверить, есть ли у какой-либо последовательности полный набор элементов, отличных от NA
library(data.table)
any(as.logical(ave(seq_along(v1) * v1, rleid(v1),
FUN = function(x) all(!is.na(x))) ))
#[1] TRUE
Или это может быть также
any(with(rle(!is.na(v1)), lengths[values] >=4))
#[1] TRUE
Или другой вариант table
4 %in% table(v1 * (seq_along(v1) -1) %/% 4)
#[1] TRUE
data
v1 <- c(NA, 1, NA, 1, 1, 1, 1, 1, NA, NA, 1, NA, NA, 1, NA, 1, NA)