Truco

Monitoreando cada una de las repeticiones en un bucle


Si tras ejecutar una rutina de tipo bucle en STATA, pasa mucho tiempo sin que aparezcan los resultados del procedimiento o al menos algún mensaje de error, y sencillamente no sabemos si STATA aún está realizando o no cálculos, hay una forma simple de monitorear cada una de las iteraciones en este tipo de procesos. Los comandos bootstrap y jacknife producen una tabla de puntos de muy sencilla lectura sólo para este propósito utilizando un comando muy poco documentado llamado –dots–. Sin embargo, cualquier bucle en STATA puede ser modificado para que genere un reporte del número de bucles. Veamos un ejemplo:

nois _dots 0, title(Calculando bucles) reps(100)
forvalues i=1/100 {
nois _dots `i' 0
}
Calculando bucles (100)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
.................................................. 50
.................................................. 100


En la primera línea, el comando –dots– esta sucedido por el número 0 el cual permite que el encabezado sea desplegado. El título y el número de repeticiones son opcionales. En la tercera línea el número 0 especifica que tras cada replicación exitosa en la tabla de resultados se despliega un punto. En caso de no obtenerse un éxito, el programa casi siempre despliega en la tabla de resultados una letra –x–.
Un ejemplo más complicado hace repeticiones hasta que el procedimiento alcance 70 éxitos. En este hipotético caso, cada éxito es aleatorio con una probabilidad del 80%. Cada éxito es reportado con una –x–.

nois _dots 0, title(Calculando hasta 70 éxitos) reps(100)
local rep 1
local nsuccess 0
while `nsuccess' < 70 {
local fail = uniform() < .2
local nsuccess = `nsuccess' + (`fail' == 0)
nois _dots `rep++' `fail'
}
Calculando hasta 70 éxitos (100)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
x...x...x.x.x...........x...........x.x........... 50
...xxx..x.........x..x.......x.....

¡Guarda esta información!

Descargalo en PDF

Descargar

¡Comparte este evento con tus colegas!

Email

Enviar

WhatsApp

Facebook

Cotizar
Próximos
Eventos

X

Mis cotizaciones:

Comentarios a tu solicitud:

Cotizar