如何让执行暂停,睡觉,等待R秒X秒?

如何暂停R脚本达到指定的秒数或毫秒数? 在很多语言中,都有一个sleep函数,但?sleep引用一个数据集。 而?pause?wait不存在。

预期的目的是用于自定时animation。 所需的解决scheme工作,而不要求用户input。

请参阅help(Sys.sleep)

例如,从?Sys.sleep

 testit <- function(x) { p1 <- proc.time() Sys.sleep(x) proc.time() - p1 # The cpu usage should be negligible } testit(3.7) 

生产

 > testit(3.7) user system elapsed 0.000 0.000 3.704 

如果CPU使用率非常高,则Sys.sleep()将不起作用; 因为在其他关键的高优先级进程正在运行(并行)。

此代码为我工作。 在这里,我以2.5秒的间隔打印1到1000。

 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 } 

我为你做了一个例子,希望它有用

 # 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 }