Manipulação de dados

Boa tarde, Eu tenho um banco de dados com 19 colunas sendo uma de data e 18 colunas com 67308 linhas e gostaria de saber se alguém sabe como editar esse dataframe quando valor de uma linha pra outra variar mais q X, repetir o valor da última linha, e continuar assim para todas as colunas. Na minha situação variar mais que 5 de uma linha pra outra seria uma anomalia do sensor. Banco de dados para exemplo df <- structure(list(a = c("A", "A","B","B","C","C","A", "A","B","B","C","C"), b = c(1,2,1,4,3,10,2,3,1,7,9,-10), c = c(5,1,2,3,3,1,2,3,9,7,-5,10), d = c(3,10,1,9,2,1,2,3,3,5,-5,9)), .Names = c("nome","b","c","d"), class = "data.frame",row.names = c(NA, -12L))
participantes (3)
-
Cid Edson Póvoas
-
Cid Póvoas
-
Jobenil - Gmail