我正尝试使用以下代码导入R中的时间序列数据。数据来自1-7-2014
到30-4-2017
,使其成为1035个数据点。但是当我使用下面的代码时,它会给出1093次观察。
series <- ts(data1, start=c(2014,7,1), end=c(2017,4,30), frequency = 365)
有人可以帮我理解我哪里出错吗?
答案 0 :(得分:2)
ts
不允许以此格式输入start
和end
。允许单个数字或两个整数的向量。在第二种情况下,它是从1月1日开始的年和日。
在lubridate
的帮助下,您可以使用以下内容。 decimal_date
会将日期转换为适当的整数,适合ts
。
library(lubridate)
series <- ts(data1, start=decimal_date(as.Date("2014-07-01")), end=decimal_date(as.Date("2017-04-30") + 1), frequency = 365)
> length(series)
[1] 1035