有没有办法从R中的汇总程序导出输出(类似于SAS中的ods输出)?
我有这个时间序列:
MAPE.ets <- [some bit of code that takes the MAPE from the output and pops it right here]
当你运行它时,你会得到各种很棒的信息,比如MAPE和RMSE。我想有选择地将其中一些指标分配给变量,以便在其他进程中使用。
summary(stlf(ts(c(100, 110, 120, 200, 300, 100, 200, 100, 120, 300), start = c(2009, 1), frequency = 4)))
R中有没有办法做到这一点?
编辑:经过一些回答,我意识到stts ets的行为与ets不同,我需要一个解决方案来为stlf ets工作。final_vals = np.zeros(allTimes.size)
final_vals[np.in1d(allTimes, loggedTimes)] = property
final_vals
array([ 1500., 2000., 500., 0., 75., 60., 0., 0.,
45., 37., 0.])
答案 0 :(得分:1)
摘要为您提供了一个向量。如果你想要colnames和rownames,你可以像这样获得MAPE。
out <-summary(ets(ts(c(100, 110, 120, 200, 300, 100, 200, 100, 120, 300),
start = c(2009, 1), frequency = 12)))
out[,5,drop=FALSE]
MAPE
Training set 44.51514
我只想要号码,请删除drop=FALSE
out[5]
[1] 44.51514
编辑使用stfl
,最好使用accuracy
功能代替summary
。要获得MAPE,您可以这样做:
res <- stlf(ts(c(100, 110, 120, 200, 300, 100, 200, 100, 120, 300),
start = c(2009, 1), frequency = 4))
accuracy(res)[5]
[1] 44.5994
答案 1 :(得分:1)
只需将摘要分配给新对象即可。这将创建一个矩阵,您可以在其中访问您提到的指标:
public function register()
{
}
public function showRegistrationForm()
{
return redirect('login');
}
修改强>
预测包中的预期方式似乎是summ <- summary(ets(ts(c(100, 110, 120, 200, 300, 100, 200, 100, 120, 300), start = c(2009, 1), frequency = 12)))
summ[,"MAPE"]
[1] 44.51514
方法的使用(accuracy
的{{1}}方法 - 类实际调用summary
);这适用于ets
和accuracy
:
ets