Los histogramas y los diagramas de dispersión son excelentes métodos para visualizar datos y la relación entre variables, pero recientemente me he estado preguntando qué técnicas de visualización me estoy perdiendo. ¿Cuál crees que es el tipo de trama menos utilizado?
Las respuestas deberían:
- No se usa con mucha frecuencia en la práctica.
- Sea comprensible sin una gran discusión de fondo.
- Ser aplicable en muchas situaciones comunes.
- Incluya código reproducible para crear un ejemplo (preferiblemente en R). Una imagen vinculada estaría bien.
Respuestas:
Realmente estoy de acuerdo con los otros carteles: los libros de Tufte son fantásticos y vale la pena leerlos.
Primero, te diría un tutorial muy bueno sobre ggplot2 y ggobi de "Looking at Data" a principios de este año. Más allá de eso, solo destacaría una visualización de R y dos paquetes de gráficos (que no son tan ampliamente utilizados como los gráficos base, la red o ggplot):
Mapas de calor
Realmente me gustan las visualizaciones que pueden manejar datos multivariados, especialmente datos de series temporales. Los mapas de calor pueden ser útiles para esto. Uno realmente genial fue presentado por David Smith en el blog Revolutions . Aquí está el código ggplot cortesía de Hadley:
Lo que termina pareciéndose a esto:
RGL: Gráficos 3D interactivos
Otro paquete que vale la pena aprender es RGL , que proporciona fácilmente la capacidad de crear gráficos 3D interactivos. Hay muchos ejemplos en línea para esto (incluso en la documentación de rgl).
R-Wiki tiene un buen ejemplo de cómo trazar diagramas de dispersión 3D usando rgl.
GGobi
Otro paquete que vale la pena conocer es rggobi . Hay un libro de Springer sobre el tema , y una gran cantidad de excelente documentación / ejemplos en línea, incluso en el curso "Mirar datos" .
fuente
Realmente me gustan los dotplots y encuentro que cuando los recomiendo a otros por problemas de datos apropiados, siempre están sorprendidos y encantados. No parecen tener mucho uso, y no puedo entender por qué.
Aquí hay un ejemplo de Quick-R:
Creo que Cleveland es el principal responsable del desarrollo y la promulgación de estos, y el ejemplo en su libro (en el que los datos defectuosos se detectaron fácilmente con un diagrama de puntos) es un argumento poderoso para su uso. Tenga en cuenta que el ejemplo anterior solo pone un punto por línea, mientras que su poder real viene con usted tiene múltiples puntos en cada línea, con una leyenda que explica cuál es cuál. Por ejemplo, puede usar diferentes símbolos o colores para tres puntos de tiempo diferentes, y de ahí obtener fácilmente una idea de los patrones de tiempo en diferentes categorías.
En el siguiente ejemplo (¡hecho en Excel de todas las cosas!), Puede ver claramente qué categoría podría haber sufrido un intercambio de etiquetas.
fuente
Las parcelas que usan coordenadas polares son ciertamente subutilizadas, algunos dirían con buena razón. Creo que las situaciones que justifican su uso no son comunes; También creo que cuando surgen esas situaciones, las gráficas polares pueden revelar patrones en los datos que las gráficas lineales no pueden.
Creo que es porque a veces sus datos son inherentemente polares en lugar de lineales, por ejemplo, son cíclicos (coordenadas x que representan tiempos durante un día de 24 horas durante varios días), o los datos se mapearon previamente en un espacio de características polares.
Aquí hay un ejemplo. Este gráfico muestra el volumen de tráfico medio de un sitio web por hora. Observe los dos picos a las 10 p.m. y a la 1 a.m. Para los ingenieros de red del Sitio, esos son importantes; También es significativo que ocurran uno cerca del otro (solo con dos horas de diferencia). Pero si traza los mismos datos en un sistema de coordenadas tradicional, este patrón estaría completamente oculto: trazados linealmente, estos dos picos estarían separados por 20 horas, lo que son, aunque también están separados por dos horas en días consecutivos. La tabla polar anterior muestra esto de una manera parsimoniosa e intuitiva (no es necesaria una leyenda).
Hay dos formas (que yo sepa) de crear tramas como esta usando R (creé la trama anterior con R). Una es codificar su propia función en los sistemas gráficos base o de cuadrícula. La otra forma, que es más fácil, es usar el paquete circular . La función que usaría es ' rose.diag ':
fuente
qplot(y=data, x=1:length(data), fill=factor(1:length(data)), stat='identity', geom='bar') + coord_polar()
Si su diagrama de dispersión tiene tantos puntos que se convierte en un desastre completo, pruebe con un diagrama de dispersión suavizado. Aquí hay un ejemplo:
El
hexbin
paquete (sugerido por @Dirk Eddelbuettel) se usa para el mismo propósito, perosmoothScatter()
tiene la ventaja de que pertenece algraphics
paquete y, por lo tanto, es parte de la instalación estándar de R.fuente
Con respecto a sparkline y otras ideas de Tufte, el paquete YaleToolkit en CRAN proporciona funciones
sparkline
ysparklines
.Otro paquete que es útil para conjuntos de datos más grandes es hexbin, ya que ingeniosamente ' agrupa ' los datos en cubos para tratar con conjuntos de datos que pueden ser demasiado grandes para diagramas de dispersión ingenuos.
fuente
plot
una actualización de mi pregunta , con algo de ayuda de esta publicación del foro de TufteHmisc::latex()
versión de salida deHmisc::describe
incluye un mini histograma que se incluye en la tabla.Las parcelas de violín (que combinan parcelas de caja con densidad de grano) son relativamente exóticas y bastante geniales. El paquete vioplot en R te permite hacerlos con bastante facilidad.
Aquí hay un ejemplo (el enlace de wikipedia también muestra un ejemplo):
fuente
bwplot(... panel = panel.violin)
Otra buena visualización de series de tiempo que estaba revisando es el "gráfico de relieve " (como aparece en esta publicación en el blog "Learning R" ). Esto es muy útil para visualizar cambios de posición a lo largo del tiempo.
Puede leer sobre cómo crearlo en http://learnr.wordpress.com/ , pero esto es lo que parece:
fuente
También me gustan las modificaciones de Tufte de las gráficas de caja que le permiten hacer comparaciones de múltiplos pequeños mucho más fácilmente porque son muy "delgadas" horizontalmente y no saturan la trama con tinta redundante. Sin embargo, funciona mejor con un número bastante grande de categorías; Si solo tiene unos pocos en una parcela, las parcelas regulares (Tukey) se ven mejor ya que tienen un poco más de peso.
En esta pregunta se discuten otras formas de hacer esto (incluido el otro tipo de diagrama de caja de Tufte) .
fuente
No debemos olvidarnos de la linda e históricamente importante trama de tallo y hojas (¡a Tufte también le encanta!). Obtiene una visión general directamente numérica de su densidad y forma de datos (por supuesto, si su conjunto de datos no es mayor que unos 200 puntos). En R, la función
stem
produce su distribución de tallo y hoja (en el espacio de trabajo). Prefiero usar lagstem
función del paquete fmsb para dibujarla directamente en un dispositivo gráfico. A continuación se muestra una variación de la temperatura corporal del castor (los datos deben estar en su conjunto de datos predeterminado) en una pantalla de tallo por hoja:fuente
Gráficos de horizonte (pdf), para visualizar muchas series de tiempo a la vez.
Gráficos de coordenadas paralelas (pdf), para análisis multivariante.
Gráficos de asociación y mosaico , para visualizar tablas de contingencia (ver el paquete vcd )
fuente
Además del excelente trabajo de Tufte, recomiendo los libros de William S. Cleveland: Visualizing Data y The Elements of Graphing Data . No solo son excelentes, sino que todos se hicieron en R, y creo que el código está disponible públicamente.
fuente
¡Diagramas de caja! Ejemplo de la ayuda R:
En mi opinión, es la forma más práctica de echar un vistazo rápido a los datos o comparar distribuciones. Para distribuciones más complejas hay una extensión llamada
vioplot
.fuente
Las tramas de mosaico me parecen cumplir con los cuatro criterios mencionados. Hay ejemplos en r, bajo mosaicplot.
fuente
Mira el trabajo de Edward Tufte y especialmente este libro
También puedes intentar atrapar su presentación itinerante . Es bastante bueno e incluye un paquete de cuatro de sus libros. (¡Juro que no soy dueño de las acciones de su editor!)
Por cierto, me gusta su técnica de visualización de datos de minigráfico. ¡Sorpresa! Google ya lo escribió y lo publicó en Google Code
fuente
Parcelas de resumen? Como se menciona en esta página:
Visualización de estadísticas resumidas e incertidumbre
fuente