【发布时间】:2016-07-04 18:47:36
【问题描述】:
我有 10 分钟速率的时间序列(xts 格式)功耗数据
power
2015-08-01 00:00:00 101.22
2015-08-01 00:10:00 122.941
2015-08-01 00:20:00 67.596
2015-08-01 00:30:00 184.180
现在我想再添加 3 列:
- 第 2 列:“Prevday1” - 其中“prevday1”将同时包含前一天的功耗读数。也就是说,如果当前索引是 2015 年 8 月 5 日,1100 小时,那么“prevday1”应该包含前一天同一时间的消费(2015 年 8 月 4 日,1100 小时)
- 第 3 列:“Prevday2” - 其中“prevday2”将包含前一天同一时刻的功耗读数
- 第 4 列:“previnstant1” - 其中“previnstant1”将包含前一时刻的读数。在我的情况下,这将是 10 分钟之前的功耗
不知何故新的xts 对象会像
power prevday1 prevday2 previnstant1
2015-08-01 00:00:00 101.22 NA NA NA
2015-08-01 00:10:00 122.941 : : :
2015-08-01 00:20:00 67.596
2015-08-01 00:30:00 184.180
:
现在的问题是我应该如何从历史 xts 对象中提取第 2、3 和 4 列的值。我从 .indexday 类型的函数开始,但无法获取值。 R 中是否有任何特定函数可以使用 xts 索引提取这些类型的值?
【问题讨论】:
-
lag(xts_object, 24*6) 为您提供前一天,lag (xts_object, 48*6) 为您提供 prevday2 等。这假设您忽略了夏令时。
-
lag(xts_object, 1) 为您提供前一个瞬间。
-
否,
lag()返回整个对象,其中一些观察值具有指定的na。我需要与特定的先前时间戳相对应的值。 -
对不起,我不明白你在这里做什么。因为如果您正确选择滞后,如果您忽略 DLS 效应,滞后对象确实可以让您在同一时间范围内准确观察到前一天。
标签: r time-series xts