0

谁能告诉我如何在 R 的时间序列中给出开始和结束的日期。我知道如何给出一个序列,比如:

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

但我想从 1 月 1 日开始到 1 月 10 日结束,而不是 1 到 10 日。提前致谢。

4

1 回答 1

1

中的基本时间序列功能ts可能对您来说还不够。有很多可用的工具可用于在 R 中处理时间序列,但该ts课程旨在表示

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

如果您正确描述您的数据,该print命令将很好地格式化它。如果您希望将数据分成几个月,您可以执行以下操作(注意frequency12 的):

> 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功能获得的最佳效果。

如果您想要更高级的功能,我会查看本文档中的一些工具。

于 2013-03-15T19:51:18.860 回答