有什么方法可以无错误地停止 R 程序吗?
例如,我有一个很大的来源,定义了几个函数,之后有一些函数调用。碰巧我编辑了一些函数,并希望在 R 环境中更新函数定义,但实际上并没有调用它们。
我定义了一个变量justUpdate
,当它TRUE
想要在函数定义之后停止程序时。
ReadInput <- function(...) ...
Analyze <- function(...) ...
WriteOutput <- function(...) ...
if (justUpdate)
stop()
# main body
x <- ReadInput()
y <- Analyze(x)
WriteOutput(y)
我已经调用stop()
了函数,但问题是它会打印一条错误消息。
ctrl+c是另一种选择,但我想在特定行中停止源。
q()
or的问题quit()
在于它终止了 R 会话,但我希望 R 会话仍然打开。
正如@JoshuaUlrich 建议的那样browser()
,可以是另一种选择,但仍然不完美,因为源在新环境中终止(即 R 提示符将更改为Browser[1]>
而不是>
)。我们仍然可以按Q
退出它,但我正在寻找直接的方法。
另一种选择是使用if (! justUpdate) { main body }
,但它正在清除问题,而不是解决问题。
有没有更好的选择?