Stata: Maksymalna liczba kolejnych wystąpień tej samej wartości w zmiennych

Obserwacje w moim zbiorze danych to odtwarzacze i zmienne binarnetemp1 do góry są równe 1, jeśli gracz wykonał ruch, a równy zeru w przeciwnym razie. Chciałbym obliczyć maksymalną liczbę kolejnych ruchów na gracza.

+------------+------------+-------+-------+-------+-------+-------+-------+
| simulation | playerlist | temp1 | temp2 | temp3 | temp4 | temp5 | temp6 |
+------------+------------+-------+-------+-------+-------+-------+-------+
|          1 |          1 |     0 |     1 |     1 |     1 |     0 |     0 |
|          1 |          2 |     1 |     0 |     0 |     0 |     1 |     1 |
+------------+------------+-------+-------+-------+-------+-------+-------+

Moim pomysłem było wygenerowanie zmiennych pomocniczych w pętli, które zliczałyby kolejne duplikaty, a następnie stosowały egen, rowmax ():

+------------+------------+------+------+------+------+------+------+------+
| simulation | playerlist | aux1 | aux2 | aux3 | aux4 | aux5 | aux6 | _max |
+------------+------------+------+------+------+------+------+------+------+
|          1 |          1 |    0 |    1 |    2 |    3 |    0 |    0 |    3 |
|          1 |          2 |    1 |    0 |    0 |    0 |    1 |    2 |    2 |
+------------+------------+------+------+------+------+------+------+------+

Walczę z wprowadzeniem lokalnej zmiennej licznika, która byłaby przyrostowo zwiększana o 1, jeśli wykonywany byłby kolejny ruch, i byłaby resetowana do zera w przeciwnym razie (poniższy kod zachowuje zmienne pomocnicze ustalone ..):

    quietly forval i = 1/42 { /*42 is max number of variables temp*/
    local j = 1 
    gen aux`i'=.    
    local j = `j'+1
    replace aux`i'= `j' if temp`i'!=0
} 

questionAnswers(1)

yourAnswerToTheQuestion