在R中以x轴提供日期

时间:2013-03-15 19:03:51

标签: r

任何人都可以告诉我如何以R中的时间序列作为日期开始和结束。我知道如何给出一个序列,说:

ts <- ts(temp, start=1, end=10)

但是我希望从1月1日开始到1月10日结束而不是1到10岁。先谢谢。

1 个答案:

答案 0 :(得分:1)

ts中的基本时间序列功能对您来说可能不够。在R中有很多available tools用于处理时间序列,但ts类用于表示

  

“规则间隔时间序列(使用数字时间戳)。因此,它是   特别适合年度,月度,季度数据等“

如果您正确描述了数据,print命令将很好地格式化。如果您希望将数据划分为几个月,则可以执行以下操作(请注意12的frequency):

> print(ts(round(rnorm(44)), start = c(2012,3), frequency = 12), calendar = TRUE)
     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2012           2   1  -2  -1   1   1   0  -1   1  -1
2013   1   0   2   1  -1   1  -1  -1   0   2   1   2
2014   2   0  -1   0   1   1   0   0   2  -1   0   0
2015   2   0   0  -1   0   0   0   1   2   0        

由于您需要每日间隔,因此您需要将frequency设置为365:

> print(ts(letters, start = c(2013, 1), frequency = 365), calendar = TRUE)
     p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21
2013  a  b  c  d  e  f  g  h  i   j   k   l   m   n   o   p   q   r   s   t   u
     p22 p23 p24 p25 p26
2013   v   w   x   y   z

这看起来很尴尬,但会解决你的问题,因为它不会只为你提供每天的数字。但是,正如文档中所述,ts类仅支持“数字时间戳”,因此这可能是您使用内置ts功能获得的最佳效果。

如果你想要更高级的功能,我会看一下this documentation中的一些工具。