En esta sección encontramos la función creada “graf_ts” la cual recibirá 3 tipos de parametros para poder graficar series de tiempo (TIME SERIES):
El parametro “TS” que será la serie de tiempo que se va a graficar
El parametro “frec” el cual nos indicara la frecuencia con la que se avanza en el tiempo, tomando periodos de tiempo ya definidos como son: “month”, “quarter” y “year”, (meses, cada cuatro meses y cada 12 meses o un año; respectivamente).
El parametro “grafica” será el tipo de grafico que podrá desplegar, ya sea “ggplot”, “plot” o “plotly”
graf_ts<-function(TS,frec, grafica){
if(class(TS)=="ts"){
if(frec=="month"){
a<-paste(start(TS)[1],start(TS)[2],1,sep="/") %>% ymd()
b<-paste(end(TS)[1],end(TS)[2],1,sep="/") %>% ymd()
f<-seq.Date(from=a,to=b,by=frec)
} else if(frec=="quarter"){
a<-paste(start(TS)[1],start(TS)[2],sep="/") %>% yq()
b<-paste(end(TS)[1],end(TS)[2],sep="/") %>% yq()
f<-seq.Date(from = a,to=b,by=frec)
}else if(frec=="year"){
a<-paste(start(TS)[1],1,1,sep="/") %>% ymd()
b<-paste(end(TS)[1],1,1,sep="/") %>% ymd()
f<-seq.Date(from=a,to=b,by=frec)
}
s<-data.frame(Fechas=f,Valor=as.numeric(as.vector(TS)))
} else{
stop('class(s1) is not ts')
}
if(grafica=="ggplot"){
g1<-ggplot(s)+geom_line(aes(x=Fechas,y=Valor), color="blue", size=1.2)+
geom_point(aes(x=Fechas,y=Valor), color="red", size=2.1)+ggtitle("Serie de Tiempo")+
labs(x="Tiempo", y="Serie")+
theme_bw()+theme(plot.title = element_text(hjust = 0.5))
return(g1)
}else if(grafica=="plot"){
p1<-plot(x=s[,1],y=s[,2], col="black", main="Serie de tiempo", xlab = "Tiempo", ylab = "Serie",
lwd=1.5,pch=19)
lines(x=s[,1],y=s[,2], col="orange", lwd=1.4)
return(p1)
}else if(grafica=="plotly"){
g1<-ggplot(s)+geom_line(aes(x=Fechas,y=Valor), color="purple", size=1.3)+
geom_point(aes(x=Fechas,y=Valor), color="green", size=2)+ggtitle("Serie de Tiempo")+
labs(x="Tiempo", y="Serie")+
theme_bw()+theme(plot.title = element_text(hjust = 0.5))
return(ggplotly(g1))
}else{
stop('This option is not available')
}
}
En esta sección se mostrarán los 3 ejemplos, con 3 series de tiempos distintas, que a su vez, las graficas tambien serán distintas.
## NULL