Сокращение последовательности в R
Вопрос
Предположим, у вас есть вектор, например:
v <- c(1,1,1,2,2,2,2,1,1,3,3,3,3)
Как можно лучше сведеться к данным. Сделайте так?
v.df <- data.frame(value=c(1,2,1,3),repetitions=c(3,4,2,4))
На процедурном языке я могу просто произойти через петлю и построить данные. Сделайте, как я иду, но с большим набором данных в R такой подход неэффективен. Любой совет?
Решение
или просто просто
data.frame(rle(v)[])
Другие советы
with(rle(v), data.frame(values, lengths))
Должен получить вас, что вам нужно.
values lengths
1 3
2 4
1 2
3 4
Не связан с StackOverflow