我有一个程序,它做一些数据分析,有几百行代码。
在程序的早期,我想做一些质量控制,如果没有足够的数据,我希望程序终止并返回R控制台。否则,我希望执行其余的代码。
我尝试过break
、browser
和quit
,但它们都没有停止程序其余部分的执行( quit
会停止执行并完全退出R,这不是我想要发生的事情)。我最后的办法是创建一条if-else
语句,如下所示:
if(n < 500){}
else{*insert rest of program here*}
但这似乎是一种糟糕的编码实践。我是不是遗漏了什么?
发布于 2013-07-24 22:56:30
如果希望程序产生错误,可以使用stopifnot()
函数:
foo <- function(x) {
stopifnot(x > 500)
# rest of program
}
发布于 2015-04-20 07:07:14
也许你只是想在某个时刻停止执行一个长脚本。即。就像你想用C或Python硬编码一个exit()一样。
print("this is the last message")
stop()
print("you should not see this")
发布于 2013-07-24 22:46:50
反转if-else结构:
if(n >= 500) {
# do stuff
}
# no need for else
https://stackoverflow.com/questions/17837289
复制相似问题