[英]Configuring the R console so that it stops executing a list of commands whenever one command fails
我有时会粘贴一个要在R控制台中执行的命令列表。 默认情况下,如果一个命令失败(即引发错误),R控制台会指示命令失败,然后执行后续命令。
有没有办法配置R控制台,以便在一个命令失败时它停止执行命令列表?
而不是粘贴,运行此R命令:
source("clipboard")
或者如果你想看到命令和输出:
source("clipboard", echo = TRUE)
(或设置verbose
选项以避免每次都指定echo,即options(verbose = TRUE)
)
一种策略是将代码包装在{ }
以便代码作为单个块执行。 例如,
{ceiling(quantile(rnorm(20), seq(0, 1, length.out=8))); rnorm(10)}
会跑,但是
{ceiling(quantile(rnorm(20), seq(0, 8, length.out=8))); rnorm(10)}
将出错并且第二个命令rnorm(10)
将不会运行。
db在注释中提到设置options(error)
。 根据?options
,默认情况下,它设置为NULL
。 如果希望代码在出错时停止并进入调试模式,则可以键入
options(error=recover)
在初始会话中或将其放入.Rprofile中,然后R将在遇到错误时进入调试模式。
对于上面的代码,你会看到
{ceiling(quantile(rnorm(20), seq(0, 8, length.out=8))); rnorm(10)}
在quantile.default中出错(rnorm(20),seq(0,8,length.out = 8)):
在[0,1]之外的'probs'输入帧编号,或输入0以退出
1:#1:分位数(rnorm(20),seq(0,8,length.out = 8))2:quantile.default(rnorm(20),seq(0,8,length.out = 8))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.