从时间序列预测中提取值

时间:2018-07-14 18:26:01

标签: r

我有一个对象forecast。当我执行时:

class(forecast)

我得到:

[1] "mts"    "ts"     "matrix"

这是否意味着这是3个对象的列表,其中最后一个是矩阵?

当我这样做时:

str(forecast)

我得到:

 Time-Series [1:5, 1:3] from 8153 to 8157: 52 52 52 51 51 ...
 - attr(*, "dimnames")=List of 2
  ..$ : NULL
  ..$ : chr [1:3] "fit" "upr" "lwr"

当我这样做时:

head(forecast)

我得到:

          fit      upr      lwr
[1,] 51.77675 57.21211 46.34138
[2,] 51.67965 57.22266 46.13664
[3,] 51.58255 57.36042 45.80468
[4,] 51.48545 57.65884 45.31206
[5,] 51.38835 58.13347 44.6432

如何获取此伪代码指示的第一行的单独值:

          fit      upr      lwr
[1,] 51.77675 57.21211 46.34138

fit <- ?
upr <- ?
lwr <- ?

1 个答案:

答案 0 :(得分:1)

如果一个对象具有多个类,则可以将其作为任何一个类进行处理(尽管一般情况下,泛型函数会选择第一个类进行方法分派,请参见How to extract coefficients' standard error from an "aov" model作为示例)。

“ mts”类用于多元时间序列,它是“ matrix”类和“ ts”类的混合。您可以将其作为普通矩阵访问。

forecast[1, , drop = FALSE]  ## row 1

fit <- forecast[1, 1]
upr <- forecast[1, 2]
lwr <- forecast[1, 3]