从R中的模型摘要导出输出

时间:2017-04-19 20:08:51

标签: r output

有没有办法从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.])

2 个答案:

答案 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);这适用于etsaccuracy

ets