gpt4 book ai didi

R 命令行最佳实践 : exit, 打印 stdout、打印 stderr、避免警告

转载 作者:行者123 更新时间:2023-12-02 21:11:06 30 4
gpt4 key购买 nike

目前我通过以下方式运行 R 脚本:

R --slave < <script_fullname> argument1 argument2 ...

我想知道 R 中关于如何退出脚本并发出警告的最佳实践,q() 会这样做吗?

if(!file.exists(argument1)){
q()

}

打印到标准输出

    if(!file.exists(argument1)){
print('file does not exist')
q()
}

并打印到标准错误?

此外,每次我以这种方式运行 R 脚本时都会看到以下警告。当阅读标准输出时,我看到:

ARGUMENT 'argument1' __ignored__
ARGUMENT 'argument2' __ignored__

有什么办法可以避免此类警告吗?

最佳答案

如果您由于错误而要退出 R 脚本,我建议使用
stop("warning message here")而不是print()q() .

print()不建议这样做,因为“很难捕获并有选择地忽略此类输出。打印的输出不是条件,因此您无法使用任何有用的条件处理工具。” -- 来自Debugging, condition handling, and defensive programming

stderr 在 this SO post 中讨论(此处太长,无法重复所有选项)。

尝试使用--args避免警告:
R --slave < <script_fullname> --args argument1 argument2 ...

另请参阅Passing Custom Arguments .

关于R 命令行最佳实践 : exit, 打印 stdout、打印 stderr、避免警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20152219/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com