Stata: número máximo de apariciones consecutivas del mismo valor en todas las variables
Las observaciones en mi conjunto de datos son jugadores, y variables binarias.temp1
arriba son iguales a 1 si el jugador hizo un movimiento, e igual a cero de lo contrario. Me gustaría calcular el número máximo de movimientos consecutivos por jugador.
+------------+------------+-------+-------+-------+-------+-------+-------+ | simulation | playerlist | temp1 | temp2 | temp3 | temp4 | temp5 | temp6 | +------------+------------+-------+-------+-------+-------+-------+-------+ | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | | 1 | 2 | 1 | 0 | 0 | 0 | 1 | 1 | +------------+------------+-------+-------+-------+-------+-------+-------+
Mi idea fue generar variables auxiliares en un bucle, que contaría duplicados consecutivos y luego aplicar 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 | +------------+------------+------+------+------+------+------+------+------+
Estoy luchando con la introducción de una variable de contador local que se incrementaría incrementalmente en 1 si se realiza un movimiento consecutivo, y de lo contrario se restablecería a cero (el siguiente código mantiene las variables auxiliares fijas ...)
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
}