En esta sección veremos a la función creada “med_mov” la cual recibe como parámetros a:
El primer parametro “se” es la serie de tiempo que se va a graficar.
El parametro “k” nos indica el número de pasos con los que se desea graficar
Como podemos observar nuestra función se divide en dos pasos la primera nos indica si la serie es constante, creciente o decreciente. Y la segunda parte nos grafica la serie junto con sus medias moviles.
med_mov<-function(se,k) {
if(class(se)=="ts"){
s<-as.numeric(se)
mm<-c()
for (i in 1:floor(length(s)/k)) {
mm[i]<-mean(s[(k*(i-1)):(k*i)] %>% t() %>% as.vector(), na.rm = T)
}
if(mm[1]<mm[length(mm)]){tendencia <-"La tendencia de la serie es creciente"
} else if(mm[1]>mm[length(mm)]){tendencia <- "La tendencia de la serie es decreciente"
}else{ tendencia<-"La tendencias de la serie es constante"}
g1<-ggplotly(ggplot()+geom_line(aes(x=c(1:length(s)), y=s),
color="red", size=1.2)+geom_smooth(aes(x=seq(from=round(k/2),
to=length(s), by=k), y=mm), color="green")+
geom_point(aes(x=c(1:length(s)), y=s), color="blue")+
labs(x="Tiempo", y="Observaciones", title = "Serie de Tiempo con Medias Moviles",
subtitle = tendencia)+theme_calc())
return(tagList(g1, tendencia))
}else{
stop('class(s1) is not ts')
}
}En esta parte se mostrarán tres ejemplos con 3 series de tiempos distintas junto con sus respectivas medias moviles