在auto.arima模型上禁止摘要显示

时间:2018-08-22 07:53:06

标签: r printing

我从invisible包中检查了函数quietlypurrr,但无法解决。很抱歉,是否已经被要求。

我有这样的东西:

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函数的解决方案,只是为了将来可能的需求。

2 个答案:

答案 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