【发布时间】:2018-06-06 17:03:19
【问题描述】:
我有以下df:
head(customerdata)
Customer.ID Week1 Week2 Week3 week4 week5 week6 week7 week8
1 C1 420 423 481 421 393 419 415 440
2 C2 1325 1262 1376 1370 1484 1421 1287 1400
3 C3 547 541 547 550 570 576 556 587
4 C4 349 349 375 346 374 379 433 376
5 C5 721 714 758 716 833 735 711 731
6 C6 420 423 481 421 393 419 415 440
我需要将每个客户 ID 即行转换为时间序列对象,然后在每一行上应用 auto.arima 并进行预测。
我尝试使用 apply fn :
apply(customerdata,1,as.ts)
但这并没有正常工作。
还有一种方法可以让我使用 purrr 等 tidyverse 包将每一行转换为 ts 对象,然后使用 map fn 应用 auto.arima,然后提取 MAPE 等错误统计信息以及数据帧中的点预测.
我们将不胜感激!
【问题讨论】:
-
也许最好转换成“长”格式,即
tibble::rownames_to_column(customerdata, 'rn') %>% gather(key, val, -Customer.ID, -rn),然后你可以检查sweep
标签: r time-series tidyverse