2014-09-25 2 views
0

Если у меня есть вектор c(1,1,2,5,3,5,6,6,6,6,3,2,7,3,4,4,4,2,2,1), как я могу рассчитать количество последовательных одинаковых элементов? Результат, который я ищу, будет c(2,1,1,1,1,4,1,1,1,1,3,2,1). Я бы предпочел избегать for циклов, потому что мое приложение этой концепции предназначено для очень длинного вектора!Рассчитать количество последовательных одинаковых элементов в векторе в R

ответ

3

Попробуйте

rle(x)$lengths 

Я полагаю, что это очень эффективно, потому что это базовая функция.

+0

Astroturfing от своего имени: если вам нужно определить длину последовательности, 'cgwtools: seqle' делает то же самое в определенной линейной прогрессии. –

Смежные вопросы