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?

Foi útil?

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
scroll top