使用lubridate和xts / zoo

时间:2016-05-05 01:43:13

标签: r xts zoo lubridate

我已使用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将值强制为.numeric(),因此在将数据框架更改为xts时存在问题。但是,尝试在ggplot中绘制数据帧数据图表也要求使用as.numeric()强制数据。

代替我提供的数据,如果有人可以提供有关如何将移动平均线应用于hms数据的帮助,并允许它在没有版本的情况下绘制图表,我会感激不尽?非常感谢

1 个答案:

答案 0 :(得分:0)

似乎最好的路线是首先通过period_to_seconds()进行转换,这样可以在几秒钟内准确地绘制图表