Saltar al contenido principal
Documentos
Gestión de datos en RGráficos en RR DocumentaciónInterfaz REstadística en RIntroducción de datos en R

Grafos reticulares en R

El paquete lattice</a >, escrito por Deepayan Sarkar, pretende mejorar los gráficos básicos de R proporcionando valores predeterminados mejorados y una visualización simplificada de las relaciones multivariantes. Una de sus características clave es el soporte para crear gráficos enrejados, que permiten visualizar variables o relaciones entre variables, condicionadas a otra u otras variables.

Admite varios tipos de gráficos, como gráficos de dispersión, gráficos de líneas, gráficos de barras e histogramas, entre otros.

El formato típico es

graph_type(formula, data=)

donde tipo_gráfico se selecciona de entre los enumerados a continuación. fórmula especifica la(s) variable(s) a mostrar y cualquier variable condicionante . Por ejemplo, ~x|A significa mostrar la variable numérica x para cada nivel del factor A. y~x | A*B significa mostrar la relación entre las variables numéricas y y x por separado para cada combinación de niveles del factor A y B. ~x significa mostrar sólo la variable numérica x.

     
graph_type description ejemplos de fórmulas
barchart gráfico de barras xAo Ax
bwplot boxplot xAo Ax
nube Gráfico de dispersión 3D z~x*y
gráfico de contorno Gráfico de contorno 3D z~x*y
gráfico de densidad gráfico de densidad de núcleos ~x
diagrama de puntos diagrama de puntos ~x
histograma histograma ~x
plano de nivel Gráfico de nivel 3D z~y*x
en paralelo parcela de coordenadas paralelas marco de datos
splom matriz de dispersión marco de datos
stripplot parcelas en franjas Ax o xA
xyplot diagrama de dispersión y~x
wireframe Gráfico alámbrico 3D z~y*x

He aquí algunos ejemplos. Utilizan los datos del coche (kilometraje, peso, número de marchas, número de cilindros, etc.) del marco de datos mtcars.

# Lattice Examples
library(lattice)
attach(mtcars)

# create factors with value labels
gear.f<-factor(gear,levels=c(3,4,5),
  labels=c("3gears","4gears","5gears"))
cyl.f <-factor(cyl,levels=c(4,6,8),
  labels=c("4cyl","6cyl","8cyl"))

# kernel density plot
densityplot(~mpg,
  main="Density Plot",
  xlab="Miles per Gallon")

# kernel density plots by factor level
densityplot(~mpg|cyl.f,
  main="Density Plot by Number of Cylinders",
  xlab="Miles per Gallon")

# kernel density plots by factor level (alternate layout)
densityplot(~mpg|cyl.f,
   main="Density Plot by Numer of Cylinders",
   xlab="Miles per Gallon",
   layout=c(1,3))

# boxplots for each combination of two factors
bwplot(cyl.f~mpg|gear.f,
   ylab="Cylinders", xlab="Miles per Gallon",
   main="Mileage by Cylinders and Gears",
   layout=(c(1,3))

# scatterplots for each combination of two factors
xyplot(mpg~wt|cyl.f*gear.f,
   main="Scatterplots by Cylinders and Gears",
   ylab="Miles per Gallon", xlab="Car Weight")

# 3d scatterplot by factor level
cloud(mpg~wt*qsec|cyl.f,
   main="3D Scatterplot by Cylinders")

# dotplot for each combination of two factors
dotplot(cyl.f~mpg|gear.f,
   main="Dotplot Plot by Number of Gears and Cylinders",
   xlab="Miles Per Gallon")

# scatterplot matrix
splom(mtcars[c(1,3,4,5,6)],
   main="MTCARS Data")

densidad1 densidad 2 densidad 3 boxplot

diagrama de dispersión diagrama de dispersión 3D diagrama de puntos matriz de dispersión

Observa, como en el gráfico 1, que especificar una variable condicionante es opcional. La diferencia entre los gráficos 2 y 3 es el uso de la opción de diseño para controlar la colocación de los paneles.

Personalizar gráficos reticulares

A diferencia de los gráficos R base, los gráficos reticulares no se ven afectados por muchas de las opciones establecidas en la función par( ). Para ver las opciones que se pueden cambiar, consulta help(xyplot). A menudo es más fácil establecer estas opciones dentro de las funciones de trazado de alto nivel descritas anteriormente. Además, puedes escribir funciones que modifiquen la representación de los paneles. He aquí un ejemplo.

# Customized Lattice Example
library(lattice)
panel.smoother <- function(x, y) {
  panel.xyplot(x, y) # show points
  panel.loess(x, y)  # show smoothed line
}
attach(mtcars)
hp <- cut(hp,3) # divide horse power into three bands
xyplot(mpg~wt|hp, scales=list(cex=.8, col="red"),
   panel=panel.smoother,
   xlab="Weight", ylab="Miles per Gallon",
   main="MGP vs Weight by Horse Power")

gráfico enrejado personalizado

Ir más lejos

Los gráficos reticulares son un sistema gráfico completo por derecho propio. El libro de Deepanyan Sarkar Lattice: Multivariate Data Visualization with R</a > es la referencia definitiva. Además, consulta la Guía del usuario de Enrejado</a >. Dr. Ihaka ha creado un maravilloso conjunto de diapositivas</a > sobre el tema en . Una excelente consideración temprana de los gráficos enrejados puede encontrarse en W.S. El libro clásico de Cleveland Visualizar Datos</a > .

Practicar

Prueba este curso sobre Distribuciones de Probabilidad Multivariantes en R</a > .

Aprende lo esencial de R

Domina los fundamentos del análisis de datos en R, incluyendo vectores, listas y marcos de datos, y practica R con conjuntos de datos reales.
Empieza a aprender R gratis