编辑:看来OP运行长脚本,在这种情况下,一个只需要包裹脚本的一部分后的质量控制
if (n >= 500) {
.... long running code here
}
如果要突破某个功能,您可能只想return()
显式或隐式。
例如,明确的双重回报
foo <- function(x) {
if(x < 10) {
return(NA)
} else {
xx <- seq_len(x)
xx <- cumsum(xx)
}
xx
}
> foo(5)
[1] 0
> foo(10)
[1] 1 3 6 10 15 21 28 36 45 55
由return()
是暗示,我的意思是,最后一行是因为如果你做了return(xx)
,但它会更有效呼叫离开关到return()
。
有些人认为使用多次返回很不好。在长函数中,跟踪函数的退出位置可能会变得困难或容易出错。因此,一种替代方法是具有单个返回点,但使用if () else ()
子句更改返回对象。这样的修改foo()
将是
foo <- function(x) {
out <- if(x < 10) {
NA
} else {
xx <- seq_len(x)
cumsum(xx)
}
out
}
> foo(5)
[1] NA
> foo(10)
[1] 1 3 6 10 15 21 28 36 45 55
quit
当然可以停止其余程序的执行。请提供一个可复制的示例。