如何將R腳本暫停指定的秒數或毫秒數?在很多語言中,有一個sleep
函數,但?sleep
引用一個數據集。並且?pause
和?wait
不存在。如何使執行暫停,休眠,等待R中的X秒?
預期用途是用於自定時動畫。所需的解決方案不需要用戶輸入即可工作。
如何將R腳本暫停指定的秒數或毫秒數?在很多語言中,有一個sleep
函數,但?sleep
引用一個數據集。並且?pause
和?wait
不存在。如何使執行暫停,休眠,等待R中的X秒?
預期用途是用於自定時動畫。所需的解決方案不需要用戶輸入即可工作。
參見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
這是來自該頁面的示例代碼。暫停以等待3.7秒 調用testIt < - 函數(X) { P1 < - proc.time() Sys.sleep(X) proc.time() - P1#CPU使用率應該是可忽略的 } 調用testIt (3.7) – 2009-07-23 22:29:39
我做了一個例子給你,我希望它是有用的
# 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()不會如果CPU使用率非常高,則工作;因爲其他關鍵高優先級進程正在運行(並行)。
此代碼適用於我。這裏我以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
}
@Ricardo,我們與Joshua等人進行了一次全面的討論,最後我們同意在標題中標註「暫停」和「睡眠」。最終的標題是妥協的結果。你只需介入並且*沒有任何爭論,爲什麼你的標題更好?回滾到之前的修訂版本?爲標題添加「睡眠」使問題更容易找到,因爲「睡眠」有很多種語言,用戶很可能會搜索它。當前標題包含很多詞彙balast,而重要的關鍵字缺失。 *回滾的目的是什麼?* – TMS 2013-07-22 05:29:20
谷歌「r睡眠」找不到它,試圖修復它。 – TMS 2014-01-17 15:03:41