1

我需要在 R 中绘制一个时间序列。但是很难弄清楚如何使用这些格式。

dates <- c(20060901, 20060905, 20060906, 20060907, 20060908, 20060911)
values <- c(33.6, 32.0, 30.0, 30.0, 30.0, 28.4)

需要以适当的格式转换日期,例如:20060901 到 Sep-01-2006 等等

到目前为止我的方法:

dates = as.Date(dates, "%Y%m%d")
plot(dates , values)

但是,我收到以下错误:

Error in charToDate(x) : character string is not in a standard unambiguous format
4

1 回答 1

5

您可能想阅读一些基本文档以了解有关基本类型的更多信息,但这里有一个使用您的数据的工作示例:

R> data <- data.frame(dates=as.Date(as.character(c(20060901,20060905,20060906, 
+                                                  20060907,20060908,20060911)), 
+                                   "%Y%m%d"), 
+                     values=c(33.6, 32.0, 30.0, 30.0, 30.0, 28.4))
R> data
       dates values
1 2006-09-01   33.6
2 2006-09-05   32.0
3 2006-09-06   30.0
4 2006-09-07   30.0
5 2006-09-08   30.0
6 2006-09-11   28.4
R> class(data[,1])
[1] "Date"
R> plot(data)

产生

在此处输入图像描述

于 2012-09-02T16:26:14.797 回答