library(signal) library(ggplot2) library(tcltk) source("defines.R") n <- 37 t <- seq(-4*pi, 4*pi, by = 0.1) sint <- sin(t) sinCMA <- numeric(n) for(i in 1:length(sint)){ sinCMA[i] <- sum(sint[(max(i-(n-1),1)):i])/n } sinMA <- numeric(n) for(i in 1:length(sint)) { sinMA[i] <- sum(sint[(max(i-floor(n/2),1)):(min(i+floor(n/2),length(sint)))])/n } sinFilter <- c(filter(numeric(n)+1/n, 1, sint)) x11() # windows() ggplot() + geom_line(aes(x=t, y=sint, color="Sinus"), size = 2) + geom_line(aes(x=t, y=sinCMA, color="Causal MA"), size = 2) + geom_line(aes(x=t, y=sinMA, color="Moving Average"), size = 2) + geom_line(aes(x=t, y=sinFilter, color="filter()"), size = 2, linetype="dashed") + scale_colour_manual(values = c("Sinus" = "blue", "Causal MA"="yellow", "Moving Average"="red", "filter()"="black")) + labs(title = "Moving Average", x = "Time", y = "", color="Filter") + plot_style + scale_x_continuous(breaks = seq(-4*pi, 4*pi, by = 2*pi), labels = c(expression(-4*pi), expression(-2*pi), "0", expression(2*pi), expression(4*pi))) capture <- tk_messageBox(message = "hit spacebar to close plots", detail = "close now")