Visualización de series temporales con ggplot2 en R

En este artículo, analizaremos la visualización de series temporales con el paquete ggplot2 en el lenguaje de programación R.

Una serie de tiempo es la serie de puntos de datos enumerados en la línea de tiempo del pedido, es decir, uno de los ejes en forma de fechas, años o meses. Una serie de tiempo es una secuencia de puntos sucesivos de intervalos iguales en el tiempo. Un análisis de series de tiempo consta de métodos para analizar datos de series de tiempo de manera que se obtenga información significativa de los datos. El análisis de datos de series temporales se está volviendo muy importante en muchas industrias, como las industrias financieras, farmacéuticas, empresas de redes sociales, proveedores de servicios web, investigación y muchas más, ya que ayuda a predecir eventos futuros en función de las tendencias de los datos anteriores. 

Para entrar mejor en la piel de los datos, necesitamos algunas herramientas para visualizarlos. El lenguaje de programación R proporciona una gran cantidad de herramientas en el paquete ggplot2 para visualizar datos. Podemos usar la función geom_line() para visualizar los datos de series de tiempo usando un gráfico de líneas.

Sintaxis:

ggplot(marco de datos, aes(x, y)) + geom_line()

Parámetro:

  • marco de datos: determina la variable del marco de datos para trazar el gráfico
  • x: determina el vector variable de tiempo
  • y: determina el vector de variable de datos para el vector de tiempo.

Ejemplo: un gráfico de líneas básico que representa datos de series temporales. 

Marco de datos en uso : aquí

R

# load library ggplot2
library(ggplot2)
  
# create timeseries dataframe
dataframe <- data.frame(read.csv("sample2.csv"))
  
# create plot
ggplot(dataframe, aes(x=Date, y=High, group = 1)) +
  geom_line()+
# check.overlap avoids label overlapping
scale_x_discrete(guide = guide_axis(check.overlap = TRUE))

Producción:

Formato de etiqueta de datos

Dado que uno de los datos del eje tiene forma de fecha, podemos formatearlo en múltiples formas de fecha. Podemos usar la función scale_x_date() para elegir el formato que se muestra en el eje X.

Sintaxis:

escala_x_fecha(etiquetas_de_fecha = identificadores-de-formato-de-fecha)

Aquí, los identificadores de formato de fecha son:

Identificadores Explicación Ejemplo
%d día como un número 21
%a día laborable de formato corto Lun
%A día laborable de formato largo Lunes
%metro mes como numero 10
%b mes abreviado Oct
%B mes de formato largo Octubre
%y año de 2 dígitos 21
%Y año de 4 dígitos 2021

Ejemplo: una serie temporal que usa un identificador de etiqueta de datos para mostrar solo el mes en forma larga.

R

# load library ggplot2
library(ggplot2)
  
# create timeseries dataframe
dataframe <- data.frame(
                      Date = as.Date("2021-10-21") - 0:364,
                      High = runif(365) + seq(-140, 224)^2 / 10000)
  
# create plot
ggplot(dataframe, aes(x=Date, y=High, group = 1)) +
  geom_line()+
  
# check.overlap avoids label overlapping
scale_x_discrete(guide = guide_axis(check.overlap = TRUE))+
  
# change month format to long-form month
scale_x_date(date_labels = "%B")

Producción:

Descansos y descansos menores

Podemos crear diferentes puntos de ruptura usando rupturas menores o mayores en la gráfica usando el argumento date_breaks y date_minor_breaks de la función scale_x_date() de ggplot2.

Sintaxis:

 scale_x_date(date_breaks, date_minor_breaks)

Ejemplo: una gráfica de serie de tiempo básica con cortes de fecha manuales y cortes de fecha menores.

R

# load library ggplot2
library(ggplot2)
  
# create timeseries dataframe
dataframe <- data.frame(
                      Date = as.Date("2021-10-21") - 0:364,
                      High = runif(365) + seq(-140, 224)^3 / 10000)
  
# create plot
ggplot(dataframe, aes(x=Date, y=High, group = 1)) +
  geom_line()+
  
# check.overlap avoids label overlapping
scale_x_discrete(guide = guide_axis(check.overlap = TRUE))+
  
# change month format to long-form month
# date_breaks and date_minor_breaks for axis break
scale_x_date(date_labels = "%B",date_breaks = "1 week")

Producción:

Datos del eje límite

Al tratar con grandes conjuntos de datos, es posible que debamos centrarnos en un marco de tiempo pequeño. Para hacerlo, usamos la opción de límite de la función scale_x_date() para seleccionar un período de tiempo en los datos.

Sintaxis:

scale_x_date(límite)

Ejemplo: una parcela con datos limitados de octubre de 2021 a julio de 2021.

R

# load library ggplot2
library(ggplot2)
  
# create timeseries dataframe
dataframe <- data.frame(
                      Date = as.Date("2021-10-21") - 0:364,
                      High = runif(365) + seq(-140, 224)^2 / 10000)
  
# create plot
ggplot(dataframe, aes(x=Date, y=High, group = 1)) +
  geom_line()+
  
# check.overlap avoids label overlapping
scale_x_discrete(guide = guide_axis(check.overlap = TRUE))+
  
# limit axis data
scale_x_date(limit=c(as.Date("2021-09-01"),as.Date("2021-10-21")))

Producción:

Publicación traducida automáticamente

Artículo escrito por mishrapriyank17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *