【问题标题】:Plotting Time Series graphs in R在 R 中绘制时间序列图
【发布时间】:2012-09-02 16:20:26
【问题描述】:

我需要在 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

【问题讨论】:

  • 既然您在我发布答案后更新了您的问题,请尝试至少复制所有相关部分。提示:as.character().

标签: r plot timeserieschart


【解决方案1】:

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

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)

产生

【讨论】:

  • 根据 OP 的经验,他们可能还需要有关如何将其设为线图而不是点的信息:plot(data, type="l");否则,我不确定他们为什么还没有接受你的答案!
猜你喜欢
  • 2011-12-09
  • 1970-01-01
  • 2018-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-11
相关资源
最近更新 更多