У меня есть dataframe с последовательностью чисел, подобной приведенной ниже:
data <- c(1,1,1,0,0,1,1,2,2,2,0,0,0,2,1,1,0,1,0,2)
Мне нужно, чтобы найти все экземпляры 1, 2 или 3 повторений 0, где последующие и следующие числа - identical-, то есть оба 1 или оба 2 (например, 1,0,1 или 2,0,0,2 но НЕ 2,0,1).
Затем мне нужно заполнить нули только окружающим значением.
Мне удалось найти и подсчитать последовательные нули
consec <- (!data) * unlist(lapply(rle(data)$lengths, seq_len))
то я нашел строку, где эти последовательные нули начинаются с:
consec <- as.matrix(consec)
first_na <- which(consec==1,arr.ind=TRUE)
Но я смущен процессом замены
Я был бы очень признателен за вашу помощь в этом!
деревенщина