Я хочу создать столбец, который подсчитывает, сколько раз подряд происходит инцидент. Представьте, что вы подбрасываете монету 100 раз, и вы подсчитываете количество орлов («H») и сказок («T»), которые встречаются в ряду:
результат: "H","H","H","H","T","T","T","H","T","T",...
Количество: 1,2,3,4,1,2,3,1,1,2...
Я могу добиться этого с помощью следующего синтаксиса: df$count <- sequence(rle(df$outcome)$lengths) - 0
Однако представьте, что я беру раунды из 100 подбрасываний монет. Раунды имеют неравную длину, и мне нужно разделить их в столбце подсчета:
Toss Round Outcome Count
1 1 H 1
2 1 H 2
3 1 H 3
4 1 H 4
5 1 T 1
6 2 T 1
7 2 T 2
8 2 H 1
...
Как я могу реализовать такое различие (т. Е. Группировать по раундам при подсчете в пределах результата) между раундами в моем коде?
Изменить: просто хотел объявить, что это очень упрощенная версия того, что мне нужно сделать в наборе данных из 46000 строк, поэтому решение не может быть основано на таблице, которую я предоставляю, но предпочтительнее в коде rle или аналогичном.
Спасибо!