首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在图形中绘制大型gts对象

在图形中绘制大型gts对象
EN

Stack Overflow用户
提问于 2016-03-10 05:54:57
回答 1查看 244关注 0票数 1

我是R程序的新手。我已经使用hts包生成了一个分层时间序列,我需要使用有向图分别绘制每个层次中的时间序列。

代码语言:javascript
复制
    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)

我一直收到这个错误信息,

代码语言:javascript
复制
  Error in UseMethod("as.xts") : 
  no applicable method for 'as.xts' applied to an object of class "c('gts', 'hts')"

这个问题有解决办法吗?也许有人能告诉我如何把变量放在有向图中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-11 10:05:07

不可能使用有向图形直接绘制hts对象。您需要做的是将hts$bts对象转换为一个矩阵,然后使用ts()函数将其转换为一个正常的时间序列。

下面是我想出的一个例子。

代码语言:javascript
复制
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')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35908674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档