plot.xts无法识别XTS对象

时间:2019-08-31 00:00:54

标签: r time-series xts

我使用xts将数据集转换为时间序列,但是当我绘制数据时,R返回错误代码,说“ x”必须是时间序列。当我检查该类时,将其显示为xts zoo对象。我检查了变量的类别,发现它们都是一个级别的因素。在转换之前,它们是正确的类。

我尝试将变量类转换为xts对象后进行转换,但这无济于事。我还对不同的数据尝试了相同的方法,而其他数据却按预期工作。

rm(list = ls())
tmp = read.csv('file:///C:/Users/cxbon/Documents/R_practice/train_forecast.csv')

head(tmp, 1)
tail(tmp, 1)

time.index = seq(from = as.POSIXct('2012-08-25 00:00'),
                 to = as.POSIXct('2014-09-25 23:00'), by = "hour")

tmp_ts = xts(tmp, order.by = time.index)

plot(tmp_ts)
traceback()
> dput(head(tmp, 20))
structure(list(ID = 0:19, Datetime = c("25-08-2012 00:00", "25-08-2012 01:00", 
"25-08-2012 02:00", "25-08-2012 03:00", "25-08-2012 04:00", "25-08-2012 05:00", 
"25-08-2012 06:00", "25-08-2012 07:00", "25-08-2012 08:00", "25-08-2012 09:00", 
"25-08-2012 10:00", "25-08-2012 11:00", "25-08-2012 12:00", "25-08-2012 13:00", 
"25-08-2012 14:00", "25-08-2012 15:00", "25-08-2012 16:00", "25-08-2012 17:00", 
"25-08-2012 18:00", "25-08-2012 19:00"), Count = c(8L, 2L, 6L, 
2L, 2L, 2L, 2L, 2L, 6L, 2L, 2L, 6L, 4L, 2L, 6L, 2L, 2L, 2L, 2L, 
2L)), row.names = c(NA, 20L), class = "data.frame")

一旦我运行plot(tmp_ts),我就会收到错误消息 Error in plot.xts(tmp_ts) : 'x' must be a time-series object

  

更新

     

在继续寻找答案之后,我在R帮助站点上找到了一个帖子,有人建议将每一列分开并从每个列中创建一个xts对象,然后cbind将它们重新组合在一起。在我的代码中尝试这样做确实可以,但是现在我对为什么xts不能在不将所有列强制转换为因素的情况下更改类的情况感到困惑。对于这个问题的任何帮助或知识,将不胜感激。

     

指向post

的链接

0 个答案:

没有答案