r-使用lubridate和xts/zoo创建hms数据的移动平均值



我已经使用lubridate将一些持续时间数据转换为hms格式的

library(lubridate)
series$Duration <- hms(series$Duration)

这给了我作为xts对象的每日专栏数据:

>Duration
2016-03-12  9M 5s
2016-03-13  6M 18s
2016-03-14  6M 30s
2016-03-15  7M 12S

我想从数据中创建一个移动平均值,所以使用了:

Duration <- rollmean(Duration,30,align="right")

然而,这确实给出了一个时间序列,而不是公认的格式:

2016-03-12 32.10000
2016-03-13 32.26667
2016-03-14 31.53333
2016-03-15 31.16667

我不确定数据是否正确,是否以某种方式转换为索引。这似乎不等于秒。

我的问题是,我可以创建这样的hms数据的移动平均值,并保持原始的hms格式吗

****编辑说明:很抱歉我现在无法提供示例数据。与我最初的帖子相反,在创建xts对象时,xts将值强制为.numberic(),因此将数据帧更改为xts存在问题。然而,试图在ggplot中绘制数据帧数据也要求使用as.numberic().强制数据

如果有人能帮助我如何将移动平均线应用于hms数据,并允许它在没有coersion的情况下绘制图表,我将不胜感激,而不是我提供数据?非常感谢

似乎最好的方法是首先通过period_to_seconds()进行转换,这允许您在几秒钟内准确绘制

最新更新