将时间序列从分钟转换为日期

时间:2015-11-20 16:02:25

标签: r time-series

我有一个R时间序列对象,每隔1小时测量一次。

library(lubridate)
library(timeSeries)

set.seed(100)
c <- Sys.time()
d <- c + hours(1:200)
e <- rnorm(200)
f <- data.frame(d,e)
g <- as.timeSeries(f)

我想将此转换为每日时间,我可以使用此转换的数据列的平均值或值。

结果将是一个时间序列对象,每天有一个条目,其值是该特定日期的所有小时值的平均值。

如何做到这一点?

1 个答案:

答案 0 :(得分:0)

首先,利用lubridate包来计算日期:

library(lubridate) 
f$date <- floor_date(ymd_hms(f$d), "day") 

然后,用

计算给定日期的平均值
library(dplyr)
dplyr::group_by(f, date) %>%
  dplyr::summarise(avg = mean(e))

并将其用于时间序列。