Nâo consegui rodar, veja o que deu:
teste <- data.frame(id=rep(1:3, each=10), ano=2016, mes=c(1:5,7,9:12,1:3,6:12,1:10))
teste[unlist(sapply(split(teste, teste$identificador), function(x)c(TRUE, unlist(diff(x$mes) >= 3)))),]
Erro em split.default(x = seq_len(nrow(x)), f = f, drop = drop, ...) :
group length is 0 but data length > 0
Olá a todos,
Apliquei a solução proposta pelo Henrique na base completa e funcionou perfeitamente. A estrutura que eu tinha montado (com os dois loops) não tinha funcionado 100%, mas esta sim:
teste[unlist(sapply(split(teste, teste$identificador), function(x)c(TRUE, unlist(diff(x$mes) >= 3)))),]
Abraços e obrigado novamente.