Вопрос

Предположим, у вас есть вектор, например:

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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top