【发布时间】:2020-07-04 14:32:12
【问题描述】:
我希望在现有的 R 时间序列类型之一中创建一个时间序列对象,其中观察标记有两种时间:序数时间,具有大于、小于或等于连续整数的索引观察在另一个之前、之后或同时;和主要时间,包括标准日期(天,至少对于初学者来说)。
我的实际数据来自三个亚日周期,每个周期可以有多个(数值,非计数)观察值或零个观察值。我的订单指数是我的主要时间度量,它处理同一时期的观察结果,并删除没有事件发生的时期。我还想要日期,因为我想测试日历效果。
这是一个玩具数据集:
set.seed(1)
dates. <- seq(as.Date("2020-03-03"), by = "day", length.out=8)[c(1, 1, 2, 3, 3, 3, 4, 4, 4, 8, 8, 8, 8)]
index. <- c(1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 9, 9, 10)
dat. <- rnorm(13)
tib_ts <- tibble(dates., index., dat.)
tib_ts
# A tibble: 13 x 3
dates. index. dat.
<date> <dbl> <dbl>
1 2020-03-03 1 -0.626
2 2020-03-03 2 0.184
3 2020-03-04 3 -0.836
4 2020-03-05 4 1.60
5 2020-03-05 4 0.330
6 2020-03-05 5 -0.820
7 2020-03-06 6 0.487
8 2020-03-06 7 0.738
9 2020-03-06 8 0.576
10 2020-03-10 9 -0.305
11 2020-03-10 9 1.51
12 2020-03-10 9 0.390
13 2020-03-10 10 -0.621
我试图弄清楚如何用 zoo、xts 和 tsibble 做到这一点,但遇到了两个问题。首先,虽然每个观测值都有自己的日期和索引值,但日期和索引值都可以与多个观测值相关联,这些观测值有时无法区分(在那个时间尺度上)。第二个是我想在有时一个时间度量上使用通常的时间工具数组,有时在另一个时间度量上,并且没有找到在度量之间来回切换的方法。
但是,我相信一个实现必须已经存在于现有的类或包中,因为相同或相似的时间结构存在常见问题。以美元价值计算的大额伤亡损失为例,按小时、天或月汇总。在任何聚合规模上,都会有没有损失的时期和多重损失的时期。与每日最高值和最低值类似,无论是温度还是股价。你知道它们在昨天的高点和低点之后和明天的之前,但你确实知道哪个先出现,或者它们是相隔两分钟还是相隔 20 小时。股票价格数据通常将星期一视为星期五之后的第二天,因为在此期间没有交易发生。等等。
【问题讨论】:
标签: r class time time-series package