我有一个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)
我想将此转换为每日时间,我可以使用此转换的数据列的平均值或值。
结果将是一个时间序列对象,每天有一个条目,其值是该特定日期的所有小时值的平均值。
如何做到这一点?
答案 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))
并将其用于时间序列。