usar language ejemplo data como r loops

language - Cómo ser alertado sobre el progreso continuo de un ciclo/lapply



r language apply data frame (3)

En R , a veces tendré un for loop largo o lapply que quiero saber el progreso continuo de.

Algo como lo siguiente está en el espíritu de lo que quiero pero no funciona:

lapply(1:n,function(i) { print(i); MAIN COMPUTATIONS })

Idealmente, lo anterior imprimiría i al comienzo de cada nueva iteración de la lapply .

PREGUNTA: ¿Cómo obtengo actualizaciones de progreso continuas sobre cuántas repeticiones ha realizado mi lapply o for loop ?


También es posible que desee ver las funciones como winProgressBar , tkProgressBar o txtProgressBar . Las versiones de Windows y TK son agradables, ya que pueden mostrarle su progreso, pero no desordenan su salida.


Parece que estás usando RGui en Windows. Debería haber una opción en uno de los menús para indicarle que no almacene la salida. Alternativamente, puede llamar a flush.console cada vez que imprima.

lapply(1:1000, function(i){print(i); flush.console()})

Tenga en cuenta que esto ralentizará un poco el código.


Una solución que usa plyr

l_ply(1:10,function(x) x+1,.progress=''text'')

o puedes definir tu progreso usando progress_text

l_ply(1:10000,function(x) x+1,.progress= progress_text(char = ''*'')) |*********************************************************************| 100%

o con la opción imprimir, para obtener el resultado de cada iteración

l_ply(1:4,function(x) x+1,.progress= progress_text(char = ''+''),.print=TRUE) | | 0%[1] 2 |++++++ | 25%[1] 3 |+++++++++++++++ | 50%[1] 4 |++++++++++++++++++++++ | 75%[1] 5 |++++++++++++++++++++++++++++++++ | 100%[1]