Prefacio a la segunda edición.

Bienvenidos a la segunda edición de “ggplot2: gráficos elegantes para análisis de datos”. Estoy muy emocionado de tener un libro actualizado que muestra las últimas y mejores características de ggplot2, así como las grandes cosas que han estado sucediendo en R y en la comunidad de ggplot2 durante los últimos cinco años. La comunidad ggplot2 es vibrante: la lista de correo de ggplot2 tiene más de 7000 miembros y hay una comunidad Stack Overflow muy activa, con casi 10,000 preguntas etiquetadas con ggplot2. Si bien la mayor parte de mi esfuerzo de desarrollo ya no se centra en ggplot2 (más sobre esto a continuación), nunca ha habido un mejor momento para aprenderlo y usarlo.

Estoy tremendamente agradecido por el éxito de ggplot2. Es uno de los paquetes R más descargados (¡más de un millón de descargas en el último año!) y ha influido en el diseño de paquetes gráficos para otros lenguajes. Personalmente, ggplot2 me ha brindado muchas oportunidades interesantes para viajar por el mundo y conocer gente interesante. Me encanta escuchar cómo la gente usa R y ggplot2 para comprender los datos que les interesan.

Un gran agradecimiento por esta edición a Carson Sievert, quien me ayudó a modernizar el código, incluida la conversión de las fuentes a R Markdown. También actualizó muchos de los ejemplos y me ayudó a corregir el libro.

Cambios principales

Me he esforzado mucho en garantizar que esta edición sea una verdadera actualización con respecto a la primera. Además de actualizar el código en todas partes para asegurarme de que sea totalmente compatible con la última versión de ggplot2, tengo:

  • Se muestra mucho más código en el libro, por lo que es más fácil de usar como referencia. En general, el libro tiene una sensibilidad más “knitr”: hay menos figuras y tablas flotantes, y más código en línea. Esto hace que el diseño sea un poco menos bonito pero mantiene los elementos relacionados más juntos.

  • Se publicó la fuente completa en línea en https://github.com/hadley/ggplot2-book.

  • Se cambió de qplot() a ggplot() en la introducción. Los comentarios indicaron que qplot() era una muleta: facilita un poco las gráficas simples, pero no ayuda a dominar la gramática.

  • Se agregaron ejercicios de práctica a lo largo del libro para que puedas practicar nuevas técnicas inmediatamente después de aprender sobre ellas.

  • Se agregaron sugerencias al rico ecosistema de paquetes que se han creado alrededor de ggplot2. Ahora verá una serie de otros paquetes resaltados en el libro y obtendrá sugerencias sobre otros paquetes que creo que son particularmente útiles.

  • Se revisó el capítulo de la caja de herramientas para cubrir todas las nuevas geoms. Agregué una sección completamente nueva sobre etiquetas de texto, ya que es importante y no se trata en detalle en ningún otro lugar. La sección de mapas se ha ampliado considerablemente para hablar más sobre los diferentes tipos de datos de mapas y dónde puede encontrarlos.

  • Se reescribió completamente el capítulo de escalas para centrarse en las tareas más importantes. También analiza las nuevas características que brindan un control más preciso sobre la apariencia de la leyenda y muestra algunas de las nuevas escalas agregadas a ggplot2.

  • Divida el capítulo de análisis de datos en tres partes: ordenamiento de datos (con tidyr), manipulación de datos (con dplyr) y visualización de modelos (con escoba). Hablo de la última versión de mis herramientas de manipulación de datos y presento el fantástico paquete escoba de David Robinson.

El libro va acompañado de una nueva versión de ggplot2: versión 2.0.0. Esto incluye una serie de ajustes y mejoras menores, y mejoras considerables en la documentación. Volver al desarrollo de ggplot2 después de una pausa considerable me ha ayudado a ver muchos problemas que antes pasaban desapercibidos. ggplot2 2.0.0 (¡por fin!) contiene un mecanismo de extensión oficial para que otros puedan contribuir con nuevos componentes de ggplot2 en sus propios paquetes. Esto está documentado en una nueva viñeta, vignette("extending-ggplot2").

The future

ggplot2 ahora es estable y es poco probable que cambie mucho en el futuro. Habrá correcciones de errores y es posible que haya nuevas geoms, pero no habrá grandes cambios en el funcionamiento de ggplot2. La siguiente iteración de ggplot2 es ggvis. ggvis es significativamente más ambicioso porque pretende proporcionar una gramática de gráficos interactivos. ggvis es todavía joven y carece de muchas de las características de ggplot2 (en particular, actualmente carece de facetado y no tiene forma de crear gráficos estáticos), pero en los próximos años el objetivo es hacer que ggvis sea mejor que ggplot2.

La sintaxis de ggvis es un poco diferente a la de ggplot2. No podrá convertir trivialmente sus gráficos de ggplot2 a ggvis, pero creemos que el costo vale la pena: la nueva sintaxis es considerablemente más consistente y será más fácil de aprender para los recién llegados. Si domina ggplot2, descubrirá que sus habilidades se transfieren muy bien a ggvis y, después de luchar con la sintaxis por un tiempo, comenzará a sentirse bastante natural. Las habilidades importantes que se aprenden al dominar ggplot2 no son los detalles programáticos de describir una gráfica en código, sino el desafío mucho más difícil de pensar en cómo convertir datos en visualizaciones efectivas.

Agradecimientos

Mucha gente ha contribuido a este libro con conocimientos estructurales de alto nivel, correcciones ortográficas y gramaticales e informes de errores. Me gustaría agradecer especialmente a William E. J. Doane, Alexander Forrence, Devin Pastoor, David Robinson y Guangchuang Yu por sus detalladas revisiones técnicas del libro.

Muchos otros han contribuido durante la (¡ahora bastante larga!) vida útil de ggplot2. Me gustaría agradecer a: Leland Wilkinson, por las discusiones y comentarios que consolidaron mi comprensión de la gramática; Gabor Grothendieck, por sus útiles comentarios iniciales; Heike Hofmann y Di Cook, por ser excelentes asesores y apoyar el desarrollo de ggplot2 durante mi doctorado; Charlotte Wickham; a los estudiantes de stat480 y stat503 en ISU, por probarlo cuando era muy pequeño; Debby Swayne, por su gran cantidad de comentarios y consejos útiles; Bob Muenchen, Reinhold Kliegl, Philipp Pagel, Richard Stahlhut, Baptiste Auguie, Jean-Olivier Irisson, Thierry Onkelinx y muchos otros que leyeron versiones preliminares del libro y me dieron su opinión; y por último, pero no menos importante, a los miembros de R-help y la lista de correo ggplot2, por proporcionar los muchos problemas gráficos interesantes y desafiantes que han ayudado a motivar este libro.

Hadley Wickham
September 2015