Dibuja varias series de tiempo en el mismo gráfico en R

Las series temporales en el lenguaje de programación R se utilizan para ver cómo se comporta un objeto durante un período de tiempo. En R, se puede hacer fácilmente con la función ts() con algunos parámetros. La serie de tiempo toma el vector de datos y cada dato está conectado con el valor de marca de tiempo proporcionado por el usuario. 

Método 1: usar métodos básicos de R

Primero, creamos un vector de datos que tiene datos para todas las series temporales que deben dibujarse. Luego trazamos la serie temporal usando el primer conjunto de datos y la función plot(). Luego agregue otras series de tiempo usando la función line() a la gráfica existente. Luego, podemos agregar una leyenda en la parte superior para mostrar qué línea en el gráfico representa qué serie de tiempo.

Ejemplo:

R

# Create sample data
set.seed(1023)                          
 
sample_data <- round(data.frame(year = 1997:2021,
                     time_data1 = 1:25 + rnorm(25),
                     time_data2  = 30:6 + runif(25, 0, 10),
                     time_data3  = rnorm(25, 5, 5)))
 
# Plot a graph with time_data1
plot(sample_data$year,                          
     sample_data$time_data1,
     type = "l",
     col = 2,
     ylim = c(- 15, 40),
     xlab = "Year",
     ylab = "Values")
 
# Add line graphs of other two dataset
lines(sample_data$year,                            
      sample_data$time_data2,
      type = "l",
      col = 3)
 
lines(sample_data$year,                            
      sample_data$time_data3,
      type = "l",
      col = 4)
 
# Add legend in top right corner
legend("topright",                          
       c("Geeksforgeeks", "technical-scripter", "geek-i-knack"),
       lty = 1,
       col = 2:4)

Producción:

Múltiples series de tiempo en una parcela

Método 2: Usando ggplot2

En ggplot2 podemos usar directamente geom_line() para dibujar el diagrama. 

Primero creamos un vector de datos de muestra. El ggplot2 se usará para dibujar el gráfico y la remodelación fusionará los datos de la forma ancha a la forma larga. Convierta datos de formato ancho a formato largo.

Sintaxis:

melt(sample_data, id.vars = variable)

Dibuja la trama con la ayuda de ggplot2 y geom_line(),

Ejemplo:

R

# Create sample data
set.seed(1023)                          
 
sample_data <- round(data.frame(year = 1997:2021,
                     time_data1 = 1:25 + rnorm(25),
                     time_data2  = 30:6 + runif(25, 0, 10),
                     time_data3  = rnorm(25, 5, 5)))
 
# Load packages reshape2 and ggplot2
library("reshape2") 
library("ggplot2")  
 
# Convert sample_data from wide form to long form
data_final <- melt(sample_data, id.vars = "year")
 
# Plot the final data
ggplot(data_final,                           
       aes(x = year,
           y = value,
           col = variable)) + geom_line()

Producción:

Múltiples series de tiempo usando ggplot2

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 *