library(dplyr, warn.conflicts = FALSE)
data(chaingang)
# The 'chaingang' dataset is sampled at 1 Hz
# without any breaks.
diff(chaingang$time.s) %>% unique # NB!
# 30 second rolling mean, and 25 second exponentially-
# weighted rolling mean.
chaingang <- mutate(chaingang,
power.30mean = roll_mean(power.W, 30),
power.25ema = roll_mean(power.W, 25, ema = TRUE))
chaingang <- chaingang[-(1:29), ] # Remove zero padding.
plot(power.W ~ time.s, type = "l", col = "gray", data = chaingang)
lines(power.25ema ~ time.s, data = chaingang)
# FYI:
normalised_power <- mean(chaingang$power.30mean^4) ^ (1/4)
xPower <- mean(chaingang$power.25ema^4) ^ (1/4)
Run the code above in your browser using DataLab