Sum*_*eek 2 console r summary suppress
我的代码包含一个命令来运行它是必不可少的,但它最终显示在控制台命令的结果,我曾尝试使用suppressWarnings(),suppressMessages(),invisible()和sink(),但所有这些仍然显示的结果.
这是一个示例数据集,问题源自:
M<-c(1111,1222,1333,1444,1555,1666,1777,2223,6654,9867,1123,1456,2436,6875)
fstAdi <- ets(ts(rep(M,length = length(M)), deltat= 1/4, start = c(8,1)), model = "AAA", damped = FALSE, opt.crit = "mae", ic="aic", lower = c(0, 0, 0, 0), upper = c(0.999, 0.999, 0.999, 0.999), bounds = "admissible", restrict = FALSE)
mae11Ad<-summary(fstAdi)[,"MAE"]
Run Code Online (Sandbox Code Playgroud)
上面代码的最后一行始终显示控制台中的摘要,当报告导致问题自动执行此操作时.有没有人知道可以阻止这种情况发生的命令?
谢谢
我已经找到了一种在自动化报告时隐藏它的方法,但是如果有人知道如何隐藏它而只是运行代码以使流程更快,那么无论如何这将是非常有用的:)
ets对象的摘要方法有点冗长:
> forecast:::summary.ets
function (object, ...)
{
print(object)
cat("\nTraining set error measures:\n")
print(accuracy(object))
}
<bytecode: 0x161d31c8>
<environment: namespace:forecast>
Run Code Online (Sandbox Code Playgroud)
这是非常糟糕的样式,汇总方法应该返回一个带有类的对象,该类的print方法应该产生输出.
所以你可以accuracy在对象上调用方法:
> accuracy(fstAdi)[,"MAE"]
[1] 1971.468
Run Code Online (Sandbox Code Playgroud)
它具有不需要任何输出转移的优点,并且更具可读性.
| 归档时间: |
|
| 查看次数: |
4651 次 |
| 最近记录: |