Agrupando puntos en dos dimensiones con ggplot
Actualizado en febrero de 2020 para incluir funciones del paquete
ggforce
.
This post is available in English here
Para varios tipos de análisis, es común terminar con gráficas que muestran puntos de dos o más grupos en dos dimensiones. Por ejemplo: análisis de componentes principales, perfiles bioclimáticos, o cualquier combinación de valores en dos ejes. Colaborando en diferentes proyectos, me he encontrado con estas alternativas para agrupar puntos y las quiero compartir en una misma publicación.
Todos estos métodos son para graficar con ggplot2
, y estos ejemplos son con datos reales, obtenidos de la información en línea de este artículo sobre fisiología de codornices. Después de cargar los paquetes requeridos y descargar los datos de Dryad, podemos separar los datos para comparar el peso y el largo de varias aves a los 30 y 40 días de edad.
Uno de los métodos más comunes para agrupar puntos es la envoltura convexa (convex hull), que tiene una definición geométrica formal pero que prácticamente es como si rodeáramos al grupo de puntos con una liga elástica. Podemos calcular y dibujar las envolturas para varios grupos usando ggforce
.
Este tipo de envolturas casi siempre abarcan espacios que no incluyen puntos. Podemos cambiar algunos parámetros de la función para dibujar envolturas más estrechas y con márgenes redondeados.
Otra opción muy común es la de agrupar puntos usando elipses. ggforce
puede calclular y trazar elipses, que además hereda los parámetros gráficos necesarios para dibujar los colores y la leyenda sin necesidad de especificarlos por separado.
Esta otra opción es la que yo terminé utilizando en mis figuras. Se trata de geom_encircle
, una geometría adicional que es parte del paquete ggalt
. Este método utiliza curvas diferenciables definidas en porciones mediante polinomios, y termina dibujando polígonos redondeados que se ven bastante bien. Este método es más que nada para agrupar puntos y destacarlos visualmente, y no necesariamente para hacer otros análisis basados en el área del polígono (como ocurre en el caso de las envolturas convexas).
Para estas cuato opciones es posible cambiar los parámetros de relleno y transparencia, estos ajustes sirven para destacar la sobreposición entre grupos.
Espero que les sirva. LD