У меня есть следующий список:
my_list <- list(c(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1), c(0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0), c(0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1))
> my_list
[[1]]
[1] 1 1 1 0 1 1 1 1 1 1 0 1 1
[[2]]
[1] 0 0 0 0 1 1 0 1 1 1 1 1 0
[[3]]
[1] 0 1 1 1 1 1 1 1 1 0 0 0 1
Везде, где имеется менее четырех последовательных 1
с, я хотел бы заменить эти 1
с 0
с.Результирующий список должен выглядеть следующим образом:
> my_new_list
[[1]]
[1] 0 0 0 0 1 1 1 1 1 1 0 0 0
[[2]]
[1] 0 0 0 0 0 0 0 1 1 1 1 1 0
[[3]]
[1] 0 1 1 1 1 1 1 1 1 0 0 0 0
Я считаю, что должен использовать функции rle
и inverse.rle
, но я не могу понять, как это сделать.Спасибо за вашу помощь.