Echemos un vistazo a este gráfico por un segundo,
Esta visualización (creada originalmente con Tableau) es un gran ejemplo de cómo la visualización de datos puede ayudar a los tomadores de decisiones. Imagínese decirle esta información a un inversor a través de una tabla. ¿Cuánto tiempo crees que tardarás en explicárselo?
Con un volumen de datos cada vez mayor en el mundo actual, es imposible contar historias sin estas visualizaciones. Si bien existen herramientas dedicadas como Tableau, QlikView y d3.js, nada puede reemplazar las herramientas de modelado / estadísticas con una buena capacidad de visualización. Ayuda enormemente a realizar cualquier análisis de datos exploratorio, así como a la ingeniería de funciones. Aquí es donde R ofrece una ayuda increíble.
R Programming ofrece un conjunto satisfactorio de funciones y bibliotecas integradas (como ggplot2, folleto, celosía) para crear visualizaciones y presentar datos. En este artículo, he cubierto los pasos para crear visualizaciones comunes y avanzadas en R Programming. Pero, antes de llegar a ellos, veamos rápidamente la breve historia de la visualización de datos. Si no está interesado en la historia, puede pasar de forma segura a la siguiente sección.
Breve historia de la visualización de datos:
Históricamente, la visualización de datos ha evolucionado gracias al trabajo de destacados profesionales. El fundador de los métodos gráficos en estadística es William Playfair. William Playfair inventó cuatro tipos de gráficos: el gráfico de líneasEl gráfico de líneas es una herramienta visual utilizada para representar datos a lo largo del tiempo. Consiste en una serie de puntos conectados por líneas, lo que permite observar tendencias, fluctuaciones y patrones en los datos. Este tipo de gráfico es especialmente útil en áreas como la economía, la meteorología y la investigación científica, facilitando la comparación de diferentes conjuntos de datos y la identificación de comportamientos a lo..., el gráfico de barrasEl gráfico de barras es una representación visual de datos que utiliza barras rectangulares para mostrar comparaciones entre diferentes categorías. Cada barra representa un valor y su longitud es proporcional a este. Este tipo de gráfico es útil para visualizar y analizar tendencias, facilitando la interpretación de información cuantitativa. Es ampliamente utilizado en diversas disciplinas, como la estadística, el marketing y la investigación, debido a su simplicidad y efectividad.... de datos económicos, el gráfico circularEl gráfico circular, también conocido como diagrama de sectores, es una representación visual que muestra la proporción de diferentes partes respecto a un todo. Se utiliza comúnmente en estadísticas para ilustrar la distribución de datos categóricos. Cada sección del gráfico representa un porcentaje del total, facilitando la comparación entre categorías. Su diseño claro y conciso lo convierte en una herramienta efectiva para la presentación de información cuantitativa.... y el gráfico circular. Joseph Priestly había creado la innovación de los primeros gráficos de línea de tiempo, en los que se usaban barras individuales para visualizar la vida útil de una persona (1765). Así es, ¡las líneas de tiempo fueron inventadas hace 250 años y no por Facebook!
Entre las visualizaciones de datos tempranas más famosas se encuentra la Marcha de Napoleón, tal como la describe Charles Minard. La visualización de datos incluye una amplia información sobre el efecto de la temperatura en la invasión de Rusia por parte de Napoleón junto con escalas de tiempo. El gráfico destaca por su representación en dos dimensiones de seis tipos de datos: el número de tropas de Napoleón; distancia; temperatura; la latitud y longitud; dirección de viaje; y ubicación relativa a fechas específicas
Florence Nightangle también fue pionera en la visualización de datos. Dibujó gráficos de Coxcomb para representar el efecto de la enfermedad en la mortalidad de las tropas (1858). El uso de mapas en gráficos o análisis espacial fue iniciado por John Snow (¡no de Game of Thrones!). Era un mapa de las muertes por un brote de cólera en Londres, 1854, en relación con la ubicación de las bombas de agua públicas y ayudó a identificar el brote en una sola bomba.
Visualización de datos en R:
En este artículo, crearemos las siguientes visualizaciones:
Visualización básica
- Histograma
- Gráfico de barras / líneas
- Diagrama de caja
- Gráfico de dispersiónUn gráfico de dispersión es una representación visual que muestra la relación entre dos variables numéricas mediante puntos en un plano cartesiano. Cada eje representa una variable, y la ubicación de cada punto indica su valor en relación con ambas. Este tipo de gráfico es útil para identificar patrones, correlaciones y tendencias en los datos, facilitando el análisis y la interpretación de relaciones cuantitativas....
Visualización avanzada
- Mapa de calorUn "mapa de calor" es una representación gráfica que utiliza colores para mostrar la densidad de datos en un área específica. Comúnmente utilizado en análisis de datos, marketing y estudios de comportamiento, este tipo de visualización permite identificar patrones y tendencias rápidamente. A través de variaciones cromáticas, los mapas de calor facilitan la interpretación de grandes volúmenes de información, ayudando a la toma de decisiones informadas....
- Mapa de mosaico
- Visualización de mapas
- Gráficos 3D
- Correlograma
Consejo R: los HistData El paquete proporciona una colección de pequeños conjuntos de datos que son interesantes e importantes en la historia de las estadísticas y la visualización de datos.
VISUALIZACIONES BÁSICAS
Notas rápidas:
- Los gráficos básicos en R se pueden crear con bastante facilidad. los trama comando es el comando a tener en cuenta.
- Toma muchos parámetrosLos "parámetros" son variables o criterios que se utilizan para definir, medir o evaluar un fenómeno o sistema. En diversos campos como la estadística, la informática y la investigación científica, los parámetros son fundamentales para establecer normas y estándares que guían el análisis y la interpretación de datos. Su adecuada selección y manejo son cruciales para obtener resultados precisos y relevantes en cualquier estudio o proyecto.... de datos del eje x, datos del eje y, etiquetas del eje x, etiquetas del eje y, color y título. Para crear gráficos de líneas, simplemente use el parámetro, escriba = l.
- Si desea un diagrama de caja, puede utilizar la palabra diagrama de caja y, para diagrama de barras, utilice la función de diagrama de barras.
1. Histograma
El histograma es básicamente un gráfico que divide los datos en contenedores (o rupturas) y muestra la distribución de frecuencia de estos contenedores. También puede cambiar las pausas y ver el efecto que tiene la visualización de datos en términos de comprensibilidad.
Dejame darte un ejemplo.
Nota: Hemos utilizado el comando par (mfrow = c (2,5)) para ajustar varios gráficos en la misma página en aras de la claridad (consulte el código a continuación).
Los siguientes comandos muestran esto de una mejor manera. En el siguiente código, el principal La opción establece el título del gráfico y la columna opción llama en la paleta de coloresLa paleta de colores es una herramienta fundamental en el diseño gráfico y la decoración. Consiste en una selección de colores que se utilizan de manera armoniosa para crear una atmósfera específica o transmitir emociones. Existen diversas teorías del color que ayudan a elegir combinaciones efectivas, como la rueda de color y el contraste. Una paleta bien definida puede mejorar la estética y la comunicación visual de un proyecto.... de RColorBrewer para establecer los colores.
library(RColorBrewer)
data(VADeaths) par(mfrow=c(2,3)) hist(VADeaths,breaks=10, col=brewer.pal(3,"Set3"),main="Set3 3 colors") hist(VADeaths,breaks=3 ,col=brewer.pal(3,"Set2"),main="Set2 3 colors") hist(VADeaths,breaks=7, col=brewer.pal(3,"Set1"),main="Set1 3 colors") hist(VADeaths,,breaks= 2, col=brewer.pal(8,"Set3"),main="Set3 8 colors") hist(VADeaths,col=brewer.pal(8,"Greys"),main="Greys 8 colors") hist(VADeaths,col=brewer.pal(8,"Greens"),main="Greens 8 colors")
Observe que si el número de roturas es menor que el número de colores especificado, los colores simplemente van a valores extremos como en el gráfico «Establecer 3 8 colores». Si el número de cortes es mayor que el número de colores, los colores comienzan a repetirse como en la primera fila.
2. Gráfico de barras / líneas
Gráfico de linea
A continuación se muestra el gráfico de líneas que muestra el aumento de pasajeros aéreos durante un período de tiempo determinado. Los gráficos de líneas son comúnmente preferidos cuando vamos a analizar una tendencia que se extiende a lo largo de un período de tiempo. Además, el gráfico de líneas también es adecuado para gráficos en los que necesitamos comparar cambios relativos en cantidades a través de alguna variableEn estadística y matemáticas, una "variable" es un símbolo que representa un valor que puede cambiar o variar. Existen diferentes tipos de variables, como las cualitativas, que describen características no numéricas, y las cuantitativas, que representan cantidades numéricas. Las variables son fundamentales en experimentos y estudios, ya que permiten analizar relaciones y patrones entre diferentes elementos, facilitando la comprensión de fenómenos complejos.... (como el tiempo). A continuación se muestra el código:
plot(AirPassengers,type="l") #Simple Line Plot
Gráfico de barras
Los gráficos de barras son adecuados para mostrar la comparación entre los totales acumulados de varios grupos. Los gráficos apilados se utilizan para gráficos de barras para varias categorías. Aquí está el código:
barplot(iris$Petal.Length) #Creating simple Bar Graph barplot(iris$Sepal.Length,col = brewer.pal(3,"Set1")) barplot(table(iris$Species,iris$Sepal.Length),col = brewer.pal(3,"Set1")) #Stacked Plot
3. Diagrama de caja (incluida la opción de agrupar)
El diagrama de caja muestra 5 números estadísticamente significativos: el mínimo, el percentil 25, la medianaLa mediana es una medida estadística que representa el valor central de un conjunto de datos ordenados. Para calcularla, se organizan los datos de menor a mayor y se identifica el número que se encuentra en el medio. Si hay un número par de observaciones, se promedia los dos valores centrales. Este indicador es especialmente útil en distribuciones asimétricas, ya que no se ve afectado por valores extremos...., el percentil 75 y el máximo. Por lo tanto, es útil para visualizar la extensión de los datos y derivar inferencias en consecuencia. Aquí está el código básico:
boxplot(iris$Petal.Length~iris$Species) #Creating Box Plot between two variable
Entendamos el código a continuación:
En el siguiente ejemplo, hice 4 gráficos en una pantalla. Al usar el signo ~, puedo visualizar cómo es la propagación (de la longitud del sépalo) en varias categorías (de especies). En los dos últimos gráficos he mostrado el ejemplo de paletas de colores. Una paleta de colores es un grupo de colores que se utiliza para hacer que el gráfico sea más atractivo y ayudar a crear distinciones visuales en los datos.
data(iris) par(mfrow=c(2,2)) boxplot(iris$Sepal.Length,col="red") boxplot(iris$Sepal.Length~iris$Species,col="red") oxplot(iris$Sepal.Length~iris$Species,col=heat.colors(3)) boxplot(iris$Sepal.Length~iris$Species,col=topo.colors(3))
Para obtener más información sobre el uso de paletas de colores en R, visitar aquí.
4. Gráfico de dispersión (incluido 3D y otras características)
Los diagramas de dispersión ayudan a visualizar datos fácilmente y para una inspección de datos simple. Aquí está el código para el diagrama de dispersiónEl diagrama de dispersión es una herramienta gráfica utilizada en estadística para visualizar la relación entre dos variables. Consiste en un conjunto de puntos en un plano cartesiano, donde cada punto representa un par de valores correspondientes a las variables analizadas. Este tipo de gráfico permite identificar patrones, tendencias y posibles correlaciones, facilitando la interpretación de datos y la toma de decisiones basadas en la información visual presentada.... simple y multivariado:
plot(x=iris$Petal.Length) #Simple Scatter Plot
plot(x=iris$Petal.Length,y=iris$Species) #Multivariate Scatter Plot
Scatter PlotUn diagrama de dispersión es una representación gráfica que muestra la relación entre dos variables. Cada punto en el gráfico corresponde a un par de valores, lo que permite identificar patrones, tendencias o correlaciones. Esta herramienta es útil en diversas disciplinas, como la estadística y la investigación científica, ya que facilita el análisis visual de datos y la comprensión de la relación entre los elementos estudiados.... Matrix puede ayudar a visualizar múltiples variables entre sí.
plot(iris,col=brewer.pal(3,"Set1"))
Quizás esté pensando que no he incluido gráficos circulares en la lista de gráficos básicos. Eso es intencional, no se pierda. Esto se debe a que los profesionales de visualización de datos desaprueban el uso de gráficos circulares para representar datos. Esto se debe a que el ojo humano no puede visualizar distancias circulares con tanta precisión como la distancia lineal. En pocas palabras, cualquier cosa que se pueda poner en un gráfico circular se representa mejor como un gráfico lineal. Sin embargo, si te gusta el gráfico circular, usa:
pie(table(iris$Species))
Aquí hay una lista completa de todos los gráficos que hemos aprendido hasta aquí:
Es posible que haya notado que en algunos de los gráficos, sus títulos se han truncado porque coloqué demasiados gráficos en la misma pantalla. Para cambiar eso, simplemente puede cambiar el parámetro ‘mfrow’ para el par.
Visualizaciones avanzadas
¿Qué es Hexbin Binning?
Podemos usar el paquete hexbin en caso de que tengamos varios puntos en el mismo lugar (overplotting). El agrupamientoEl "agrupamiento" es un concepto que se refiere a la organización de elementos o individuos en grupos con características o objetivos comunes. Este proceso se utiliza en diversas disciplinas, incluyendo la psicología, la educación y la biología, para facilitar el análisis y la comprensión de comportamientos o fenómenos. En el ámbito educativo, por ejemplo, el agrupamiento puede mejorar la interacción y el aprendizaje entre los estudiantes al fomentar el trabajo... hexagonal es una forma de histograma bivariado útil para visualizar la estructura en conjuntos de datos con n grande. Aquí está el código:
>library(hexbin) >a=hexbin(diamonds$price,diamonds$carat,xbins=40) >library(RColorBrewer) >plot(a)
También podemos crear una paleta de colores y luego usar la función de trazado de hexbin para un mejor efecto visual. Aquí está el código:
>library(RColorBrewer) >rf <- colorRampPalette(rev(brewer.pal(40,'Set3'))) >hexbinplot(diamonds$price~diamonds$carat, data=diamonds, colramp=rf)
Parcela de mosaico
Se puede usar un diagrama de mosaico para trazar datos categóricos de manera muy efectiva con el área de los datos mostrando las proporciones relativas.
> data(HairEyeColor) > mosaicplot(HairEyeColor)
Mapa de calor
Los mapas de calor le permiten realizar análisis de datos exploratorios con dos dimensiones como eje y la tercera dimensión"Dimensión" es un término que se utiliza en diversas disciplinas, como la física, la matemática y la filosofía. Se refiere a la medida en la que un objeto o fenómeno puede ser analizado o descrito. En física, por ejemplo, se habla de dimensiones espaciales y temporales, mientras que en matemáticas puede referirse a la cantidad de coordenadas necesarias para representar un espacio. Su comprensión es fundamental para el estudio y... mostrada por la intensidad del color. Sin embargo, necesita convertir el conjunto de datos a un formato de matriz. Aquí está el código:
> heatmap(as.matrix(mtcars))
Puede usar el comando image () también para este tipo de visualización como:
> image(as.matrix(b[2:7]))
¿Cómo resumir muchos datos?
Puede utilizar la función tableplot del paquete tabplot para resumir rápidamente una gran cantidad de datos
Visualización de mapas
Lo último en R es la visualización de datos a través de bibliotecas Javascript. Folleto es una de las bibliotecas JavaScript de código abierto más populares para mapas interactivos. Se basa en https://rstudio.github.io/leaflet/
Puede instalarlo directamente desde github usando:
devtools::install_github("rstudio/leaflet")
El código del mapa anterior es bastante simple:
library(magrittr) library(leaflet) m <- leaflet() %>% addTiles() %>% # Add default OpenStreetMap map tiles addMarkers(lng=77.2310, lat=28.6560, popup="The delicious food of chandni chowk") m # Print the map
Gráficos 3D
Una de las formas más fáciles de impresionar a alguien con las capacidades de R es creando un gráfico 3D en R sin escribir NINGUNA línea de código y en 3 minutos. ¿Es demasiado pedir?
Usamos el paquete R Commander que actúa como interfaz gráfica de usuario (GUI). Estos son los pasos:
- Simplemente instale el paquete Rcmdr
- Utilice la opción de trazado 3D desde dentro de los gráficos
El código siguiente no lo escribe el usuario, sino que se genera automáticamente.
Nota: Cuando intercambiamos los ejes del gráfico, debería ver los gráficos con el código respectivo cómo pasamos las etiquetas de los ejes usando xlab, ylab, y el título del gráfico usando Main y color usando el parámetro col.
>data(iris, package="datasets") >scatter3d(Petal.Width~Petal.Length+Sepal.Length|Species, data=iris, fit="linear" >residuals=TRUE, parallel=FALSE, bg="black", axis.scales=TRUE, grid=TRUE, ellipsoid=FALSE)
También puede hacer gráficos en 3D con el paquete Lattice. Lattice también se puede utilizar para xyplots. Aquí está el código:
>attach(iris)# 3d scatterplot by factor level >cloud(Sepal.Length~Sepal.Width*Petal.Length|Species, main="3D Scatterplot by Species") >xyplot(Sepal.Width ~ Sepal.Length, iris, groups = iris$Species, pch= 20)
Correlograma (GUI)
El correlograma nos ayuda a visualizar los datos en matrices de correlación. Aquí está el código:
> cor(iris[1:4]) Sepal.Length Sepal.Width Petal.Length Petal.Width Sepal.Length 1.0000000 -0.1175698 0.8717538 0.8179411 Sepal.Width -0.1175698 1.0000000 -0.4284401 -0.3661259 Petal.Length 0.8717538 -0.4284401 1.0000000 0.9628654 Petal.Width 0.8179411 -0.3661259 0.9628654 1.0000000 > corrgram(iris)
Hay tres paquetes GUI principales en R. RCommander con KMggplots, Rattle para minería de datos y Deducer para visualización de datos. Estos ayudan a automatizar muchas tareas.
Notas finales
Realmente disfruté escribiendo sobre el artículo y las diversas formas en que R lo convierte en el mejor software de visualización de datos del mundo. Si bien Python puede progresar con seaborn y ggplot, nada supera la inmensa cantidad de paquetes en R para la visualización de datos estadísticos.
En este artículo, he discutido varias formas de visualización cubriendo los niveles básicos a avanzados de tablas y gráficos útiles para mostrar los datos usando la Programación R.
¿Le resultó útil este artículo? Hágame saber sus sugerencias en la sección de comentarios a continuación.
Si le gusta lo que acaba de leer y desea continuar con su aprendizaje sobre análisis, suscríbete a nuestros correos electrónicos, Síguenos en Twitter o como nuestro pagina de Facebook.
Relacionado
Posts Relacionados:
- Visualización de datos | Guía de visualización de datos para principiantes
- Visualización de datos en Python | Visualización de datos para principiantes
- Herramientas de visualización de datos | Principales herramientas de visualización de datos para dominar en 2021
- Ejemplos de visualización de datos incorrectos | Ejemplos de visualización de datos incorrectos