我有一个对象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 <- ?
答案 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]