我有时间序列数据,如下所示:
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)
然后这就是我得到的:
图表看起来很好,但我想将x轴更改为Jan,Feb,Mar,Apr ... Dec。有人可以告诉我这样做的方法吗?我尝试了strptime
,然后使用了ggplot2
,但它似乎无法正常工作。如果我的问题对我而言显而易见,我很抱歉,因为我是自学R
更新:
我的数据很大并且冻结了我的计算机,我只是再次运行它,以下是dput(head(V))
的示例:
structure(list(V1 = structure(1:6, .Label = c("01/01/04 07:43:00",
"01/01/04 07:47:52", "01/01/04 17:46:14", "01/01/04 17:56:08",
"01/01/04 17:56:15", "01/01/04 17:56:28", "01/01/04 17:56:30",
"01/01/04 17:56:40", "01/01/04 17:57:35", "01/01/04 17:58:40",
"01/01/04 17:58:52", "01/01/04 18:00:48", "01/01/04 18:01:44",
"01/01/04 18:01:52", "01/01/04 18:02:57", "01/01/04 18:03:14",
.....
"31/12/04 20:59:55", "31/12/04 20:59:57", "31/12/04 20:59:58",
"31/12/04 20:59:59", "31/12/04 21:00:01", "31/12/04 21:00:04",
"31/12/04 21:00:06", "31/12/04 21:00:12", "31/12/04 21:00:17",
"31/12/04 21:00:23", "31/12/04 21:00:24", "31/12/04 21:00:30",
"31/12/04 21:00:31", "31/12/04 21:00:32", "31/12/04 21:00:37",
"31/12/04 21:00:39", "31/12/04 21:00:45", "31/12/04 21:36:00"
), class = "factor"), V2 = c(1.2587, 1.2585, 1.2586, 1.2585,
1.2585, 1.2585), V3 = c(1.2597, 1.2595, 1.2596, 1.2595, 1.2595,
1.2595)), .Names = c("V1", "V2", "V3"), row.names = c(NA, 6L), class = "data.frame")
答案 0 :(得分:2)
我建议:
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)
它也会起作用。