如何创建按年组织的每日间隔的时间序列

时间:2019-03-03 17:30:10

标签: r time-series

我有一个数据集,其每日价格为2009年1月1日至2019年1月1日,我想将其转换为时间序列。当我使用每月数据时,ts()函数将按预期工作:

> head(monthlyts)
     Jan    Feb    Mar    Apr    May    Jun    Jul    Aug    Sep    Oct Nov    Dec
1999 0.8811 0.8854 0.9251 0.8940 0.8746 0.8521 0.8522 0.8799 0.9143 0.8951 0.9123 0.8862
2000 0.8665 0.8934 0.8900 0.8709 0.8463 0.8185 0.8319 0.8266 0.8677 0.8697 0.8346 0.8575

但是当我以每日价格尝试时,它的显示方式则完全不同:

> head(dailyts)
Time Series:
Start = 2009 
End = 2009.01368925394 
Frequency = 365.25 
  Price
[1,] 0.8990
[2,] 0.8990
[3,] 0.9014
[4,] 0.9004
[5,] 0.9041
[6,] 0.8986

我为两者使用的代码是相同的,所以我不确定是什么问题。

monthlyts <- ts(mprices['Price'], frequency=12, start=c(2009,1))

dailyts <- ts(dprices['Price'], frequency=365.25, start=c(2009,1))

数据也没有变化,两个.csv文件都是从同一个网站中删除的,并且具有相同的时间范围,只有一个是每月,一个是每天。

关于如何正确获取每日时间序列的任何想法?

这里有一些代表问题的测试数据

data <- as.data.frame(sample(seq(from=0, to=1, by=0.0001), size = 730, replace = TRUE))
colnames(data) <- 'data'
datats <- ts(data, frequency=365, start=c(2009,1))
head(datats)

它应该输出两行数据,分别标记为2009和2010,每行365列。

0 个答案:

没有答案