usar - ¿Cómo generar texto en la consola R sin crear nuevas líneas?
superponer graficas en r (4)
Bah, Andrie me ganó por 28 segundos.
> for (i in 1:10) {
+ cat(paste("..", i, ".."))
+ }
.. 1 .... 2 .... 3 .... 4 .... 5 .... 6 .... 7 .... 8 .... 9 .... 10 ..
Me gustaría mostrar un indicador de progreso durante mis algoritmos de ejecución prolongados. Puedo fácilmente "burbujear" un valor de progreso dentro de mi algoritmo (por ejemplo, invocando una función de devolución de llamada proporcionada específicamente para este propósito), pero la dificultad está en el proceso de salida de texto real. Cada llamada a print
crea una nueva línea, y cada prefijo con [1]
.
¿Hay una manera de imprimir en diferentes momentos en el tiempo, sin introducir saltos de línea?
Para ser concreto, quiero lograr una "animación" que se vería como la siguiente si se observara en dos momentos diferentes.
0%...
...
0%...2%...4%...
Si realmente necesita una barra de progreso como tal, use txtProgressBar
para la salida de la consola. O winProgressBar
en Windows para una barra de progreso en la ventana.
Tal vez puedas yse plyr
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]
Use cat()
lugar de print()
:
cat("0%")
cat("..10%")
Salidas:
0%..10%