У меня есть следующий набор данных:
A <- c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0)
B <- c(0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0)
C <- c(0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1)
df <- cbind(A, B, C)
> df
A B C
[1,] 1 0 0
[2,] 1 0 1
[3,] 1 1 1
[4,] 1 1 1
[5,] 1 1 1
[6,] 1 1 1
[7,] 1 0 1
[8,] 1 1 1
[9,] 1 1 1
[10,] 1 1 0
[11,] 0 1 0
[12,] 1 1 0
[13,] 0 0 1
Я хочу сделать две вещи для каждого столбца: во-первых, я хочу изменить все 1, которые находятся в двух местах от 0 до 0.Затем я хочу выбрать области столбцов, где есть по крайней мере четыре последовательных 1;другими словами, если появляется 1, который не находится в последовательной строке из четырех или более 1, он станет 0. Полученный набор данных должен выглядеть следующим образом:
> df
A B C
[1,] 1 0 0
[2,] 1 0 0
[3,] 1 0 0
[4,] 1 0 1
[5,] 1 0 1
[6,] 1 0 1
[7,] 1 0 1
[8,] 1 0 0
[9,] 0 0 0
[10,] 0 0 0
[11,] 0 0 0
[12,] 0 0 0
[13,] 0 0 0
Как лучше всегосделай это?Спасибо!