La siguiente función se encarga de escoger una serie de tiempo de la base proporcionada.
obt_serie <- function(ser,n.serie,remover=NULL){
if(n.serie=="aleatorio"){
renglon <- sample(1:nrow(ser),1)
} else if(is.numeric(n.serie)==T){
renglon <- n.serie
}
if(is.null(remover)==T){
s <- ser[renglon,] %>% t() %>% na.omit()
} else{
s <- ser[renglon,-(remover)] %>% t() %>% na.omit()
}
}La función cuenta con tres parametros:
seres la base que contiene a las series de tiempon.seriees el renglón o la serie número \(n\) que vamos a obtener. Puede ser un número, en tal caso nos devolvería esa serie; o la palabra “aleatorio” y esto nos devolvería una serie escogida al azarremoverpor default esNULLpero puede ser un número o un vector númerico que indica que columnas remover de la base a la hora de escoger la serie
Para probar la función vamos a variar los parametros
serie1 <- obt_serie(series,10)
serie2 <- obt_serie(series,"aleatorio",1:7)
serie3 <- obt_serie(series,14,c(2,4))## [1] "YAF11" "30" "1" "6" "YEARLY" "1977" "MICRO1"
## [8] "19.13" "21.67" "21.17"
## [1] 8458 7323 7796 7339 6650 9032 8400 7431 6961 5346
## [1] "YAF15" "1" "YEARLY" "1976" "MICRO1" "23180" "21827"
## [8] "32567" "9717" "27319"
Ahora, con la siguiente función vamos a graficar las series de tiempo obtenidas
graf_serie <- function(s, tipo=NULL){
if(is.null(tipo)==T){
ggplot(data.frame(x=(1:length(s)),y=s),aes(x=x,y=y))+geom_line(aes(color=x))+
labs(title = "Serie de tiempo", x="Tiempo", y="Valor")+
scale_color_viridis()+geom_point()
} else{
if(tipo=="animado"){
ggplot(data.frame(x=(1:length(s)),y=s),aes(x=x,y=y))+geom_line(aes(color=x))+
labs(title = "Serie de tiempo", x="Tiempo", y="Valor")+
scale_color_viridis()+transition_reveal(x)+geom_point()
} else if(tipo=="plotly"){
graf <- ggplot(data.frame(x=(1:length(s)),y=s),aes(x=x,y=y))+
geom_line()+geom_point()+
labs(title = "Serie de tiempo", x="Tiempo", y="Valor")
ggplotly(graf)
}
}
}Esta función cuenta con dos parámetros:
ses la serie de tiempo que se va a graficartipoes que tipo de gráfica va a devolver la función
- Cuando es
NULL, devuelve una gráfica normal usando la paqueteríaggplot2 - Cuando es
"animado", devuelve una gráfica animada - Cuando es
"plotly", devuelve una gráfica mejorada con la paqueteríaplotly
Vamos a ver los ejemplos a continuación