任何人都可以告诉我如何以R中的时间序列作为日期开始和结束。我知道如何给出一个序列,说:
ts <- ts(temp, start=1, end=10)
但是我希望从1月1日开始到1月10日结束而不是1到10岁。先谢谢。
答案 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中的一些工具。