我有一个可能需要很长时间的函数。
我想知道是否有比这样更简洁的方法来停止该功能:
repeat{
time1 <- Sys.time()
myfunction(x,y,z,...)
time2 <- Sys.time()
if(time2 - time1 > my.time.limit) {
break
}
}
最佳答案
R.utils 包中有一个evalWithTimeout
函数。你可以像这样使用它:
require("R.utils")
evalWithTimeout({
repeat{
myfunction(x,y,z,...)
}
}, timeout=my.time.limit, onTimeout="warning")
运行 example(evalWithTimeout)
以查看其他使用方法。
关于R 在经过一定时间后结束重复语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12240320/