我正在尝试在R中使用tryCatch来捕获install.packages()
的警告消息,并将其替换为我自己的,但是,似乎有些问题。
这是我做的,
tryCatch({
install.packages("pkg1")
},
error=function(e)e,
warning=function(w)w
)
但是,当我运行它时,无论我的tryCatch努力如何,都会弹出默认消息。
输出:
Installing package into ‘\\psf/Home/Documents/R/win-library/3.2’
(as ‘lib’ is unspecified)
Warning in install.packages :
package ‘pkg1’ is not available (for R version 3.2.3)
问题1:如何强制install.packages在tryCatch中使用我的消息?
问题2:如何阻止install.packages等命令从回显消息发送到控制台?
更新:执行和警告/错误状态后,e
或w
中没有值。
更新2 :从下面的评论中,我认为在R中查看tryCatch的实际示例并不错。在下面的示例中,我们必须从“components / testfile.R”中获取文件。但是,由于拼写错误(在camponent中),它无法打开文件,因此会抛出我们可以捕获的警告错误。见下文。
tryCatch({source("camponents/testfile.R")},warning=function(w)w)
执行上述代码后,将发出'source'命令的标准警告消息,如下所示:
文件中的simpleWarning(文件名,“r”,编码=编码):无法打开文件'camponents / testfile.R':没有这样的文件或目录>
我希望install.packages()中出现这种行为。但是,它并没有这样做。 感谢。