library(dplyr, warn.conflicts = FALSE)
data(chaingang)
# 'chaingang' is sampled uniformly at 1 Hz, but lets
# pretend it's messy...
chaingang <- sample_n(chaingang, 1500) %>% arrange(time.s)
diff(chaingang$time.s) %>% table
# With this function, we can still get a 30 second rolling
# average:
chaingang <- mutate(chaingang,
power.30mean = roll_mean.time(power.W, time.s, 30))
plot(power.W ~ time.s, type = "l", col = "gray", data = chaingang)
lines(power.30mean ~ time.s, data = chaingang)
Run the code above in your browser using DataLab