Redução de sequência em r
Pergunta
Suponha que você tenha um vetor assim:
v <- c(1,1,1,2,2,2,2,1,1,3,3,3,3)
Como isso pode ser melhor reduzido a um dado.Frame como este?
v.df <- data.frame(value=c(1,2,1,3),repetitions=c(3,4,2,4))
Em uma linguagem processual, eu poderia apenas iterar através de um loop e construir os dados. Algum conselho?
Solução
ou mais simplesmente
data.frame(rle(v)[])
Outras dicas
with(rle(v), data.frame(values, lengths))
Deve ter o que você precisa.
values lengths
1 3
2 4
1 2
3 4
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow