I want to create a column that counts how many times in a row an incident occurs. Imagine flipping a coin 100 times and you count the number of heads ("H") and tales ("T") that occur in a row:
outcome:
"H","H","H","H","T","T","T","H","T","T",...
Count:
1,2,3,4,1,2,3,1,1,2...
I can achieve this by the following syntax:
df$count <- sequence(rle(df$outcome)$lengths) - 0
However, Imagine that i take rounds within the 100 coin tosses. The rounds are of unequal lengths, and I need to separate between them in the count column:
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
...
How can I implement such a distinction (i.e. group by rounds while counting within outcome) between the rounds in my code?
Edit: Just wanted to ad that this is a very simplified version of something i need to do in a 46.000 row dataset, so the solution cannot be based on the table I provide, but preferrable into the rle-code or equal.
Thanks!
 
     
     
     
    