1

我有一个数据集,其中包含 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 列。

4

0 回答 0