在 dygraphs 中绘制大型 gts 对象

Plotting large gts objects in dygraphs

我是 R 编程新手。我使用 hts 生成了分层时间序列 package.I 需要使用 dygraphs 在每个层次结构中分别绘制时间序列。

    library(hts)
    abc <- ts(5 + matrix(sort(rnorm(1000)), ncol = 10, nrow = 100))
    colnames(abc) <- c("A10A", "A10B", "A10C", "A20A", "A20B",
               "B30A", "B30B", "B30C", "B40A", "B40B")
     y <- hts(abc, characters = c(1, 2, 1))

     fcasts1 <- forecast(y, method = "bu" ,h=4, fmethod = "arima", 
                     parallel = TRUE)

     dygraph(fcasts1,y)

我不断收到此错误消息,

  Error in UseMethod("as.xts") : 
  no applicable method for 'as.xts' applied to an object of class "c('gts', 'hts')"

这个问题有解决方案吗?也许有人能告诉我如何将变量正确放入 dygraph 中。

无法使用 dygraph 直接绘制 hts 对象。你需要做的是将hts$bts对象转换成一个矩阵,然后使用ts()函数转换成一个正常的时间序列。

下面是我的一个例子。

library(hts)
abc <- ts(5 + matrix(sort(rnorm(1000)), ncol = 10, nrow = 100))
colnames(abc) <- c("A10A", "A10B", "A10C", "A20A", "A20B",
                   "B30A", "B30B", "B30C", "B40A", "B40B")
y <- hts(abc, characters = c(1, 2, 1))

fcasts1 <- forecast.gts(y, method = "bu" ,h=4, fmethod = "arima", 
                         parallel = TRUE)
ts1 <- as.matrix(fcasts1$bts)
ts1 <- ts(ts1,start = c(2016,3), frequency = 12)
dygraph(ts1[,"A10A"],main='Sample dygraph ',ylab = 'Demand')