用R表示的时间索引绘制时间序列
我有如下的时间序列数据:用R表示的时间索引绘制时间序列,r,time-series,R,Time Series,我有如下的时间序列数据: V1 V2 V3 1 01/01/04 07:43:00 1.2587 1.2597 2 01/01/04 07:47:52 1.2585 1.2595 3 01/01/04 17:46:14 1.2586 1.2596 4 01/01/04 17:56:08 1.2585 1.2595 5 01/01/04 17:56:15 1.2585 1.2595 6 01/01/04 17:56:28 1.2585 1.2595
V1 V2 V3
1 01/01/04 07:43:00 1.2587 1.2597
2 01/01/04 07:47:52 1.2585 1.2595
3 01/01/04 17:46:14 1.2586 1.2596
4 01/01/04 17:56:08 1.2585 1.2595
5 01/01/04 17:56:15 1.2585 1.2595
6 01/01/04 17:56:28 1.2585 1.2595
我想绘制V2
,下面是我编写的代码:
V<-read.csv("price.csv",header=FALSE)
d1<-(V$V2)
plot.ts(d1)
我建议:
V$V1=lubridate::mdy_hms(V$V1)
plot(V$V1,V$V2)
请注意,您需要使用lubridate
软件包来完成此操作(我建议大多数时间序列处理都使用此软件包)
这样,不仅可以获得所需的绘图,还可以将V1
列转换为日期格式,以备将来使用
或者,如果您想坚持使用base
R,您可以使用:
V$V1=strptime(V$V1,format='%m/%d/%y %T')
plot(V$V1,V$V2)
而且它也同样有效。请发布样本数据。例如,
dput(head(V))
@Matthew Lundberg:dput(head(V))的输出如下:结构(c(0.119835710156028,0.140092512643837,0.140518613838862,-0.131611244737,0.142566044074803,0.259392334813477),class=c(“xts”,“zoo”),.indexCLASS=c(“POSIXct”,“POSIXt”),tclass=c(“POSIXct”指数=结构(c(1419130345.2149,1419130346.2149,1419130347.2149,1419130348.2149,1419130349.2149,1419130350.2149),tzone=“”,tclass=c(“POSIXct”,“POSIXt”),.Dim=c(6L,1L))
和头部(V)
看起来像我上面给出的示例。这似乎与您在问题中发布的数据不相似。@MatthewLundberg:我只是用dput(head(V))的示例更新了我的问题。
。这个数据相当大,我用别的东西运行它;这就是为什么dput(head(V))
的前一个输出看起来不太可能。抱歉@CephBirk:谢谢你的建议;尤其是在lubridate
包装上。对于像我这样的初学者来说,这个软件包真是个救命稻草
V$V1=strptime(V$V1,format='%m/%d/%y %T')
plot(V$V1,V$V2)