Я хочу создать столбец, который будет подсчитывать, сколько раз подряд происходит инцидент. Представьте, что вы подбрасываете монету 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
...
Как я могу реализовать такое различие (т.е. группировать по раундам при подсчете в результатах) между раундами в моем code?
Редактировать: Я просто хотел объявить, что это очень упрощенная версия того, что мне нужно сделать в наборе данных из 46.000 строк, поэтому решение не может быть основано на таблице, которую я предоставляю, но предпочтительнее в роли -код или равно.
Спасибо!