我从invisible
包中检查了函数quietly
和purrr
,但无法解决。很抱歉,是否已经被要求。
我有这样的东西:
library(forecast)
mod <- auto.arima(AirPassengers)
summary_mod <- summary(mod) # this always makes a print of the summary
rmse <- summary_mod[2]
我想从模型中保存rmse,但是使用summary
找不到杀死自动打印功能的方法。
我尝试过:
summary_mod <- invisible(summary(mod))
library(purrr)
summary_mod <- quietly(summary(mod))
我发现我可以使用:
accuracy(mod)[2]
# [1] 10.84619
但是我想知道是否能找到一种抑制print
函数的解决方案,只是为了将来可能的需求。
答案 0 :(得分:1)
您可以使用capture.output
。
summary_mod <- capture.output(summary(mod))[14]
答案 1 :(得分:1)
也许您可以sink()
这样的输出:
mod <- auto.arima(AirPassengers)
sink("~temp.txt") #create temp file (you might replace ~ with desired working directory)
summary_mod <-summary(mod) #does not print anything now in R console, only in temp.txt file
sink(NULL) #use this to stop sinking the output
rmse <- summary_mod[2] #this still works now