调用gg_lag()报多时间序列错误,tsibble格式数据应如何处理?
问题根因
你报错的核心原因是tsibble的key参数配置错误:从你给出的数据结构可以看到,当前tsibble的Key被设置为Demand,且对应163个不同取值,这意味着tsibble默认将Demand的每一个不同取值都识别为一个独立的时间序列,因此系统判定你传入了多组时间序列,不符合gg_lag仅支持单个时间序列输入的要求。
你之前删除其他列的操作不生效,是因为tsibble的key属于元数据属性,不会随列删除自动修改,必须手动调整。
解决步骤
- 重新构造符合要求的单时间序列tsibble,显式指定
key = NULL(代表只有1组时间序列),索引设置为时间列Date:
Printer_Q <- as_tsibble(Demandts, key = NULL, index = Date)
- 验证配置是否生效,执行下述代码查看tsibble结构:
print(Printer_Q)
如果输出中Key行显示为Key: <none> [1],则代表配置正确。
3. 重新执行滞后项绘图代码即可正常运行:
Printer_Q %>% gg_lag(Demand, geom='point')
内容的提问来源于stack exchange,提问作者Joseph Droogan
相关产品推荐
相关产品推荐

