Este documento es presentado por los siguientes alumnos del curso de Técnicas de Exploración de Datos de la Universidad Nacional Agraria La Molina de Lima, Perú.
| Nombres y Apellidos | Correo Institucional |
|---|---|
| - Rojas Chavez, Edgar Jesus | 20220778@lamolina.edu.pe |
| - Ticllacuri Cusi , Rudy | 20220782@lamolina.edu.pe |
| - Mamani Taipe, Andrea Vanesa | 20211819@lamolina.edu.pe |
| - Meza Mitma, Liz Maritza | 20220771@lamolina.edu.pe |
En este trabajo nos enfocaremos en explorar y analizar dos paquetes complementarios de la librería ggplot2 en RStudio: ggthemes y ggdark.
En primer lugar, ggplot2 es una librería de visualización de datos muy popular en RStudio, que permite crear gráficos de alta calidad y personalizables. Los gráficos creados con ggplot2 se basan en una gramática de gráficos, lo que permite una mayor flexibilidad y personalización en la creación de visualizaciones.
En este contexto, ggdark es un paquete que nos permite crear visualizaciones con un estilo oscuro, moderno y atractivo, ideal para presentaciones o publicaciones en línea. Este paquete incluye un conjunto de temas oscuros predefinidos y fáciles de utilizar, así como también nos brinda la posibilidad de personalizar aún más nuestros gráficos con el uso de colores, fuentes y otros elementos gráficos.
Por otro lado, ggthemes es un paquete que nos brinda una amplia variedad de temas y estilos para nuestras visualizaciones en ggplot2. Este paquete incluye una gran cantidad de opciones para personalizar el estilo de nuestros gráficos, desde paletas de colores hasta estilos de líneas y fuentes.
En este trabajo grupal, exploraremos las diferentes opciones que nos brindan estos dos paquetes y cómo podemos utilizarlos para crear visualizaciones atractivas y personalizadas con ggplot2. También veremos algunos ejemplos de visualizaciones utilizando estos paquetes y analizaremos los resultados obtenidos.
Estos son los paquetes que se va a utilizar:
library(pacman)
p_load(ggplot2, foreign,ggthemes,ggdark,scales,cowplot,scales, cowplot, ggforce)En la siguiente línea de código que se presenta se utiliza la función read.spss() del paquete foreign para leer un archivo de datos en formato SPSS (extensión .sav) y almacenar su contenido en un objeto de tipo data frame llamado datos.
La función read.spss() tiene varios argumentos, en este caso se utilizan dos:
use.value.labels: Se establece como TRUE para que los valores de las variables sean etiquetados según las etiquetas definidas en el archivo de datos SPSS.
to.data.frame: Se establece como TRUE para que los datos se almacenen en un objeto de tipo data frame.
Posteriormente, se utiliza la función attr() para eliminar las etiquetas de variable definidas en el archivo SPSS y se adjunta el objeto datos al entorno global de R mediante la función attach().
library(foreign)
datos <- read.spss("Riesgo_morosidad.sav",
use.value.labels = T,
to.data.frame = TRUE)
attr(datos, "variable.labels") <- NULL
attach(datos)GGThemes es un paquete de R desarrollado por Jeffrey Arnold que proporciona una colección de temas personalizados para gráficos realizados con ggplot2, una de las librerías de visualización de datos más populares en R. El objetivo de ggthemes es mejorar la estética de los gráficos y hacerlos más atractivos y legibles, sin tener que pasar mucho tiempo personalizando manualmente cada uno de ellos.
Según el autor, ggthemes ofrece una amplia variedad de temas que van desde opciones más sobrias y minimalistas hasta diseños más coloridos y elaborados. Además, el paquete también incluye opciones para personalizar aspectos específicos de los gráficos, como las fuentes, los colores y los elementos de fondo.
Jeffrey Arnold
El paquete contiene varios temas populares. Algunos de ellos también vienen con sus escalas de color correspondientes. Usa las escalas adecuadamente en base a tus datos existiendo una variedad de temas como: theme_base(), theme_calc(), theme_pander(), theme_map(), entre otros.
grafico <- ggplot(datos) +
geom_point(aes(x = antiguedad, y = edad, colour= morosidad)) +
labs(
title = "Gráfico de Dispersión según morosidad",
x = "Antiguedad",
y = "Edad",
colour = "Morosidad"
)
grafico + theme_base() +
scale_color_manual(values = c('#FEF502ff', '#DA251Eff'))En el siguiente gráfico utilizaremos el tema: The economist themea.
ggplot(datos) + geom_point(aes(x = antiguedad, y = edad, color = morosidad)) + theme_economist() +
labs(
title = "Gráfico de Dispersión según morosidad",
x = "Antiguedad",
y = "Edad",
colour = "Morosidad"
)En el siguiente gráfico utilizaremos el tema: Solarized theme.
ggplot(datos) + geom_point(aes(x = antiguedad, y = edad, color = morosidad)) + theme_solarized() +
labs(
title = "Gráfico de Dispersión según morosidad",
x = "Antiguedad",
y = "Edad",
colour = "Morosidad"
)En el siguiente gráfico de barras verticales se ha utilizado datos específicos. El eje x representa la variable “nrodepen”, mientras que el color de relleno de las barras representa la variable “morosidad”. El tema utilizado es el de Wall Street Journal y la paleta de colores es “colors6”. El tamaño de fuente y la posición del eje x y la leyenda son personalizados.
library(ggthemes)
grafico <- ggplot(datos) +
geom_bar(aes(x = nrodepen, fill= morosidad),
width=0.30,color='black')+
labs(
title = "Gráfico de Barras Vertical",
subtitle = "Según numero de dependientes") +
theme_wsj(base_size = 8, color = "white",) +
scale_fill_wsj(palette = "red_green") +
theme(axis.text.x = element_text(size = 12), legend.position = "bottom") +
guides(fill = guide_legend(title = "Niveles")) +
scale_y_continuous(expand = c(0,0))
grafico + theme_economist()Ggdark fue publicado en el año 2019 y el autor es Neal Granham este complemento nos proporciona versiones oscuras de los temas incluidos en ‘ggplot2’: dark_theme_grey(), dark_theme_bw(), dark_theme_minimal(), y otros.
Cuando se aplica un tema oscuro, todo el color de geom y el relleno de geom predeterminados se invierten para hacerlos visibles contra un fondo oscuro. Para volver a cambiarlos, utilice invert_geom_defaults().
Neal Granham
Lo primero que vamos hacer es instalar el paquete ggdark desde el github
devtools::install_github("nsgrantham/ggdark")ggplot(datos) + aes(x=antiguedad, y=edad, alpha=morosidad, colour = morosidad) +
geom_point() + labs(title = "Gráfico de dispersión según la Antigüedad",
x = "Antigüedad",
y = "Edad",
color = "morosidad")Graficando con ggdark:
m <- ggplot(datos) + aes(x=antiguedad, y=edad, alpha=morosidad, colour = morosidad) +
geom_point() + labs(title = "Gráfico simple con ggdark",
x = "Antigüedad",
y = "Edad",
color = "morosidad")
m + dark_theme_gray()En el siguiente gráfico utilizaremos el tema: dark_theme_bw
b <- ggplot(datos) + aes(x=antiguedad, y=edad, alpha=morosidad, colour = morosidad) +
geom_point() + labs(title = "Gráfico simple con ggdark",
x = "Antigüedad",
y = "Edad",
color = "morosidad")
b + dark_theme_bw()Lo primero que vamos hacer es utilizar las siguientes librerias.
library(ggplot2)
library(ggdark)
library(ggthemes)
library(scales)
library(cowplot)Este código genera un gráfico de barras apiladas que muestra la distribución de edades por departamento y morosidad. Cada barra representa un departamento y su altura corresponde al número total de personas en ese departamento. Cada barra se divide en dos secciones, una sección roja y una sección azul, que corresponden a la cantidad de personas morosas y no morosas en ese departamento, respectivamente.
ggplot(datos, aes(x=edad, fill=morosidad)) +
geom_histogram(color= "black", stat="bin", alpha=0.5,
position="identity", bins = 35) +
scale_fill_manual(values=c("blue", "red")) +
labs(title = expression(bold(underline("Distribución de morosidad por edad"))),
y = "Frecuencia",
x = "Edades") +
theme(axis.title = element_text(face = "bold", color = "white"),
axis.text = element_text(face = "bold", color = "white"),
legend.text = element_text(color = "black"),
legend.title = element_text(color = "black", face = "bold")) +
theme(axis.text.x = element_text(color = "white"),
axis.text.y = element_text(color = "white")) +
dark_theme_grey(base_size = 14,base_rect_size = 1)Youtube.com. Retrieved February 26, 2023, from https://www.youtube.com/watch?v=mdNsm3GFSSc
Rpubs.com. Retrieved February 26, 2023, from https://rpubs.com/Mentors_Ubiqum/ggthemes_1
Github.com. Retrieved February 26, 2023, from https://github.com/jrnold/ggthemes
D. (2020, December 22). How to Make Stunning Scatter Plots in R: A Complete Guide with ggplot2. R-Bloggers. https://www.r-bloggers.com/2020/12/how-to-make-stunning-scatter-plots-in-r-a-complete-guide-with-ggplot2/
Github.com. Retrieved February 26, 2023, from https://github.com/nsgrantham/ggdark
Rdrr.Io. Retrieved February 26, 2023, from https://rdrr.io/cran/ggdark/man/dark_mode.html