¿Cómo trazar todas las columnas de un marco de datos en R?

En este artículo, aprenderemos cómo trazar todas las columnas del DataFrame en el lenguaje de programación R.

Conjunto de datos en uso:

 x         y1        y2 y3
1   1 0.08475635 0.4543649  0
2   2 0.22646034 0.6492529  1
3   3 0.43255650 0.1537271  0
4   4 0.55806524 0.6492887  3
5   5 0.05975527 0.3832137  1
6   6 0.08475635 0.4543649  0
7   7 0.22646034 0.6492529  1
8   8 0.43255650 0.1537271  0
9   9 0.55806524 0.6492887  3
10 10 0.05975527 0.3832137  1

Método 1: usando la función plot.ts()

Solo tenemos que pasar nuestro marco de datos en la función plot.ts() , y trazará todas las columnas del marco de datos en un gráfico de serie temporal. En el eje Y podemos ver los nombres de las columnas de nuestro marco de datos.

Sintaxis: plot.ts(df)

Parámetros: 

df: objeto de marco de datos

Ejemplo:

R

set.seed(200)                                            
 
df <- data.frame(x = 1:10,
                   y1 = rnorm(5),
                   y2 = runif(5),
                   y3 = rpois(5, 1))
plot.ts(df)

Producción:

Método 2: usando la función zoo()

La función zoo() está presente en el paquete zoo , por lo que debe importarse colocando la función require (zoo) en la primera línea del código. Esta función convierte el marco de datos en un formato tal (serie «zoológico») que se puede trazar fácilmente en forma de gráfico de serie temporal.

Dado que y es NULL en nuestro caso, se produce una gráfica de serie de tiempo de x . Pero si tanto x como y fueran una serie » zoológica » univariada, entonces se habría producido un diagrama de dispersión de y frente a x.

Sintaxis: plot(zoológico(df))

Parámetros: 

df : objeto de marco de datos

Ejemplo:

R

require(zoo)
set.seed(200)                                            
 
df <- data.frame(x = 1:10,
                   y1 = rnorm(5),
                   y2 = runif(5),
                   y3 = rpois(5, 1))
 
df <- zoo(df)
plot(df)

Producción:

Método 3: usando la función plot()

En este enfoque, trazaremos un gráfico de líneas que muestra varias columnas de un marco de datos utilizando la función básica plot() . La función plot() se define como una función genérica para trazar en lenguaje R. Se puede utilizar para crear gráficos básicos de un tipo diferente.

Sintaxis: plot(X, Y, tipo = “l”, col = 1, ylim = c(0, 3))

Parámetros: 

X: eje X. ->

Y: eje Y ->

type : especifica el tipo de trama

col: especifica el color

ylim: especifica el límite para el eje y

En el código a continuación, la primera columna del marco de datos es el eje X, y las demás columnas son el eje Y, y se trazan contra la primera columna en forma de gráfico de líneas. El valor de col debe ser diferente para diferentes líneas, de modo que cada línea tenga un color diferente, y finalmente hemos especificado ylim que limita el valor del eje y.

También podemos trazar diferentes tipos de gráficos especificando diferentes valores para los parámetros de tipo . Por ejemplo, type=”h” , habría trazado un histograma. 

Ejemplo:

R

require(zoo)
set.seed(200)                                            
df <- data.frame(x = 1:10,
                   y1 = rnorm(5),
                   y2 = runif(5),
                   y3 = rpois(5, 1))
 
plot(df$x, df$y1, type = "o", col = 1, ylim = c(0, 3))
lines(df$x, df$y2, type = "o", col = 2)
lines(df$x, df$y3, type = "o", col = 3)

Producción:

Método 4: Usar el paquete ggplo2()

Para esto, los datos deben remodelarse para que estén en la forma en que se pueden graficar.

Ejemplo:

R

library(ggplot2)
 
set.seed(200)                                            
df <- data.frame(x = 1:10,
                   y1 = rnorm(5),
                   y2 = runif(5),
                   y3 = rpois(5, 1))
 
# Reshape data frame
df_reshaped <- data.frame(x = df$x,                           
                       y = c(df$y1, df$y2, df$y3),
                       group = c(rep("y1", nrow(df)),
                                 rep("y2", nrow(df)),
                                 rep("y3", nrow(df))))
head(df_reshaped,10)

Producción:

  x          y group
1   1 0.08475635    y1
2   2 0.22646034    y1
3   3 0.43255650    y1
4   4 0.55806524    y1
5   5 0.05975527    y1
6   6 0.08475635    y1
7   7 0.22646034    y1
8   8 0.43255650    y1
9   9 0.55806524    y1
10 10 0.05975527    y1

Trazar múltiples variables en el mismo panel

En este método, trazamos un gráfico de líneas para cada columna del marco de datos en el mismo panel. Esto puede ser útil cuando se comparan columnas que almacenan el mismo tipo de datos pero difieren en alguna naturaleza. Después de remodelar los datos, veamos cómo aparecerán los gráficos de líneas de las distintas columnas.

Sintaxis:

ggplot(df_remodelado, aes(x, y, col = grupo)) + geom_line()

Ejemplo:

R

library(ggplot2)
 
set.seed(200)                                            
df <- data.frame(x = 1:10,
                   y1 = rnorm(5),
                   y2 = runif(5),
                   y3 = rpois(5, 1))
 
# Reshape data frame
df_reshaped <- data.frame(x = df$x,                           
                       y = c(df$y1, df$y2, df$y3),
                       group = c(rep("y1", nrow(df)),
                                 rep("y2", nrow(df)),
                                 rep("y3", nrow(df))))
 
ggplot(df_reshaped, aes(x, y, col = group)) +  geom_line()

Producción:

Trazado de múltiples variables en los diferentes paneles

En este método, trazamos un gráfico de líneas para cada columna del marco de datos en el panel diferente de un mismo gráfico. Podemos lograr esta tarea agregando la función facet_grid(). La función facet_grid() produce un panel de diseño definido por filas y columnas.

Sintaxis:  

ggplot(df_reshaped, aes(x, y, col = grupo)) + geom_line() + facet_grid(grupo ~ .) 

Ejemplo:

R

library(ggplot2)
 
set.seed(200)                                            
df <- data.frame(x = 1:10,
                   y1 = rnorm(5),
                   y2 = runif(5),
                   y3 = rpois(5, 1))
 
# Reshape data frame
df_reshaped <- data.frame(x = df$x,                           
                       y = c(df$y1, df$y2, df$y3),
                       group = c(rep("y1", nrow(df)),
                                 rep("y2", nrow(df)),
                                 rep("y3", nrow(df))))
 
ggplot(df_reshaped, aes(x, y, col = group)) +  geom_line()+ facet_grid(group ~ .)

Producción:

Publicación traducida automáticamente

Artículo escrito por sudhanshublaze 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 *