重定向bas​​e :: source以在变量中打印

时间:2017-04-10 14:07:56

标签: r

我想获取文件并重定向以在变量中打印错误。我尝试了下一个代码,我在这个网址In R, is it possible to redirect console output to a variable?中找到但没有成功......

这是我运行的例子:

out<-vector("character")
con<- textConnection('out', 'wr')
sink(con)
source('some_file.R', encoding = 'UTF-8') #failed capturing
sink()
close(con)

我也发现了这个 - &gt; 4.3. Redirecting Output to a File但也没有成功......

这是我运行的例子:

sink("script_output.txt")            # Redirect output to file
source("script.R")                   # Run the script, capturing its output
sink()                               # Resume writing output to console

我不知道为什么它不起作用。哪里错了?

如果标签或问题不是&#34;完成&#34;随时改变它。

1 个答案:

答案 0 :(得分:0)

毕竟我找到了解决方案。

out<-vector("character")
con<- textConnection('out', 'wr')
sink(con,type = "message")
source('some_file.R', encoding = 'UTF-8') 
sink(type = "message")
close(con)

它总是不起作用。 但我找到了更好的解决方案。 Konrad Rudolph告诉我使用try但我最终想要tryCatch。这是完美运行的代码。

tryCatch(source('some_file.R', encoding = 'UTF-8') ,
         error=function(the error that occurs){
           do something wih that error.
         },
         warning=function(the warning that occurs){
           do something wih that warning.
         })