gpt4 book ai didi

r - [R+动物园] : Operations on time series with different temporal resolutions

转载 作者:行者123 更新时间:2023-12-04 04:35:54 26 4
gpt4 key购买 nike

我有两个具有不同时间分辨率的时间序列(传感器数据)。来自“xts/zoo”类( TS1 )的时间序列包括每小时值,而其他时间序列( TS2 )具有更好的时间分辨率(每 10 分钟观察一次)。即对于 TS1,我每天有 24 个数据点(观察),对于 TS2,我每天有 144 个数据点。

当我计算 TS1-TS2有一天,我得到了 24 个数据点的结果(低时间分辨率)。我想要实现的是获得具有 144 个数据点的结果(作为 TS2,更好的时间分辨率)。

有可能在 R 中实现这一点吗?

PS:

这不是一个小问题,因为在一个小时的时间间隔内,我只有一个来自 TS1 的观察结果和来自 TS2 的 6 个观察结果,所以我可以想象如果在 TS1 的每两个点之间画一条拟合线并计算两者之间的差异,这个问题就可以解决线和来自 TS2 的数据点。但我知道没有 R 函数可以做到这一点。

最佳答案

您可以使用 na.approx 来近似缺失值对于线性/常数近似或多项式一的 na.spline。

## new index to be used 
new.index <-
seq(min(index(TS1)),max(index(TS1)), by=as.difftime(10,units='mins'))
## linear approx
TS1.new <- na.approx(merge(TS1 ,xts(NULL,new.index)))

现在您可以减去您的 ts,(即使您应该检查它们是否具有相同的开始日期)
TS2-TS1.new 

关于r - [R+动物园] : Operations on time series with different temporal resolutions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19764755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com