ticks - ¿Cómo hacer que la ejecución se detenga, duerma, espere X segundos en R?
text size in r (3)
¿Cómo pausa una secuencia de comandos R durante un número específico de segundos o milisegundos? En muchos idiomas, hay una función sleep
, pero ?sleep
referencia a un conjunto de datos. Y ?pause
y ?wait
no existe.
El propósito previsto es para animaciones auto-programadas. La solución deseada funciona sin pedir la entrada del usuario.
Hice un ejemplo para ti, espero que sea útil
# 1st let make a graph with limits xlim =0:10 e ylim=0:10.
plot(0:10,0:10, type="n")
# let use the ''for'' to put texts on graph:
for(i in 1:10)
text(i,i, paste("**", i))
## let retard steps 1 sec
plot(0:10,0:10, type="n")
for(i in 1:9){
text(i,i, paste("step", i))
Sys.sleep(1)
}
# please wait some seconds.......
# now faster
plot(0:10,0:10, type="n")
for(k in 1:9){
text(k,k, paste("step", k))
Sys.sleep(.1) ## retard steps 0,1 sec
}
Sys.sleep () no funcionará si el uso de CPU es muy alto; como en otros procesos críticos de alta prioridad se están ejecutando (en paralelo).
Este código funcionó para mí. Aquí estoy imprimiendo 1 a 1000 en un intervalo de 2.5 segundos.
for (i in 1:1000)
{
print(i)
date_time<-Sys.time()
while((as.numeric(Sys.time()) - as.numeric(date_time))<2.5){} #dummy while loop
}
Ver help(Sys.sleep)
.
Por ejemplo, desde ?Sys.sleep
testit <- function(x)
{
p1 <- proc.time()
Sys.sleep(x)
proc.time() - p1 # The cpu usage should be negligible
}
testit(3.7)
Flexible
> testit(3.7)
user system elapsed
0.000 0.000 3.704