12  Visualización y Análisis de Datos

Hay tres sistemas principales de graficación en R, el sistema de graficación base, el paquete de lattice y el paquete ggplot2.

Important

¡ATENCIÓN!

Antes de hablar del paquete con el qué graficaremos tenemos que hablar del mundo de tidyverse (hablaremos someramente, ya que es un paquete súper complejo que literal requiere un curso completo para hablar de él ✨)

12.1 🔍¿Qué es tidyverse?

Es una colección de paquetes de R con una filosofía de diseño predefinida, diseñada para la manipulación y visualización en ciencia de datos. Todos los paquetes comparten una filosofía de diseño, gramática y estructura de datos.

Instala el paquete tidyverse completo con:

Note

{r}

install.packages("tidyverse")

Paquetes escenciales:

  • ggplot2 → gráficar

  • dplyr → Manipulación de datos

  • tidyr → ordenar datos

  • readr → leer datos

  • tibble → dataframes modernos

  • stringr/forcats → texto y factores

12.2 ⭐️Introducción a ggplot2

ggplot2 es un paquete de R súper efectivo para crear gráficos de calidad para publicación y se basa en la gramática de los gráficos, la idea de que cualquier gráfico se puede construir a partir del mismo conjunto de componentes: un conjunto de datos, la estética de mapeo y capas gráficas:

  • Los conjuntos de datos son los datos que nostros, los usuario, proporcionamos.

  • La estética de mapeo es lo que conecta los datos con los gráficos. Le decimos a ggplot2 cómo usar los datos para afectar el aspecto del gráfico, para cambiar lo que se traza en el eje X o Y, o el tamaño o color de diferentes puntos de datos.

  • Las capas son la salida gráfica real de ggplot2. Las capas determinan qué tipos de trama se muestran (plot de dispersión, histograma, etc.), el sistema de coordenadas utilizado (rectangular, polar, otros) y otros aspectos importantes del gráfico.

12.2.1 En resumen

ggplot2 es un paquete de R que sirve para hacer gráficos estéticos, claros y profesionales para publicación con muy poco código.

Lo que hace especial a ggplot2 es que construye los gráficos por partes, como si armaras un “sándwich”, es decir te permite construir gráficos por capas:

Note

datos → estética → geometría → tema → etiquetas.

Esto permite que:

  • Tus gráficos sean fáciles de leer y de hacer.

  • Modificar elementos y que está acción no destruya todo el gráfico.

  • Poder adaptar cualquier visualización biológica (expresión, abundancia, etc.)

Cargamos la libreria con:

Note

{r}

library(ggplot2)

Tip

NOTA:

Recuerda que en Rstudio por default te desglosará la lista de librerias/paquetes que empiecen con “g” si observas que no te aparece es por que no se cargo correctamente.

12.3 🧩 Los 5 bloques de la Gramática en ggplot2

  1. Datos (data)

El conjunto de datos que quieres graficar.

Note

{r}

#Cargamos el data y definimos la variable

hp_data <- read.csv("hp_data/Characters.csv", sep = ";")

  1. Estética (aes = aesthetics) Indica qué variable va al eje X, al Y, al color, tamaño, etc.
Note

{r}

#Indicamos las variables

aes(x = Birth, y = Gender, color = House)

  1. Geometría (geom)

Corresponde a el tipo de gráfico:

  • geom_point() → puntos

  • geom_histogram() → histogramas

  • geom_boxplot() → boxplots

  • geom_bar() → barras

Note

AQUí DEJAMOS ESTE LINK QUE TE PERMITIRÁ CONOCER TODOS LOS PLOTS QUE PUEDES REALIZAR CON LA PAQUETERIA ggplot2.

https://r-charts.com/ggplot2/#google_vignette

  1. Escalas (scale_)

Permite ajustar los colores, tamaños, ejes, etc.

Note

{r}

#Definimos la paleta de colores

hp_cols <- c( "Gryffindor" = "#b30000", # rojo intenso "Slytherin" = "#005f2f", # verde fuerte "Ravenclaw" = "#002b80", # azul profundo "Hufflepuff" = "#e6b800", # amarillo dorado "Beauxbatons Academy of Magic" = "#6ea8ff", # azul claro elegante "Durmstrang Institute" = "#660000" # burdeos oscuro )

#Ajustamos los colores

scale_fill_manual(values = hp_cols)

  1. Temas (theme)

Aspecto final del gráfico: fondo, líneas, letras.

Note

{r}

theme_minimal()

12.4 🎨 Ejemplo explicado paso a paso

Note

{r}

#Ahora juntamos todo lo aprendido!

hp_data %>% count(House) %>% ggplot(aes(x = 2, y = n, fill = House)) + geom_col(width = 1, color = "white") + coord_polar(theta = "y") + scale_fill_manual(values = hp_cols) + xlim(1.5, 2.5) +``labs(title = "Casas de Hogwarts") +theme_minimal()

13 Estadística Descriptiva en R

La estadística descriptiva permite resumir y entender rápidamente las características principales de un conjunto de datos. En esta sección cubriremos los conceptos esenciales:

  • Media
  • Mediana
  • Desviación estándar
  • Resumen de datos

13.1 🧠 Conceptos Básicos

13.1.1 🔸 Media

La media es simplemente el promedio de los datos.
👉 Tomas todos los valores, los sumas y los divides entre la cantidad de datos.

Ejemplo:
Datos: 4, 6, 10
Media = (4 + 6 + 10) / 3 = 6.67

13.1.2 🔸 Mediana

Note

Ejemplo:

Datos: 2, 8, 5 → ordenados: 2, 5, 8
Mediana = 5

Si hay números pares, no hay un valor justo al centro, así que tomas los dos del centro y sacas su promedio.

Note

Ejemplo:

Datos: 1, 3, 7, 10 → del centro: 3 y 7 → mediana = (3+7)/2 = 5

La mediana sirve mucho cuando hay valores extremos (outliers) que podrían afectar la media.

13.1.3 🔸 Desviación Estándar

  • Es una medida que indica qué tan dispersos o separados están los datos respecto a la media.

  • Si la desviación estándar es pequeña, los valores están muy cerca del promedio.

  • Si es grande, los valores están muy separados y hay más variabilidad.

13.1.4 🔸 Resumen de datos

Note

Incluye:
- Mínimo: Es el valor más pequeño del conjunto de datos, Ayuda a saber cuál es el extremo más bajo.
- 1er cuartil (Q1) : Es el valor qué marca el 25% de los datos inferiores cuando están ordenados.

Es decir:

  • 25% de los datos están por debajo de Q1

  • 75% están por encima

Q1 ayuda a saber dónde empieza la parte “baja” de los datos.
- Mediana: Es el valor que divide los datos en dos partes iguales (50%).
(Es muy útil cuando hay valores extremos porque no se altera tanto como la media).
- Media: El promedio de los datos (Se usa para representar el “centro”, pero es sensible a valores extremos).
- 3er cuartil (Q3): Es el valor que marca el 75% de los datos ordenados.

Significa:

  • 75% de los datos están por debajo

  • 25% por encima

  • Ayuda a ver dónde empieza la parte “alta” de los datos.

- Máximo: Es el valor más grande del conjunto.


13.2 📥 1. Cargar datos en R

Usaremos un vector de ejemplo llamado x:

x <- c(5, 8, 12, 4, 6, 9, 10, 7)

13.3 📐 2. Calcular medidas básicas

13.3.1 Media

mean(x)

13.3.2 Mediana

median(x)

13.3.3 Desviación estándar

sd(x)

13.3.4 📦 3. Resumen de datos

R ofrece una función integrada:

summary(x)

Esto muestra: - Mínimo - Q1 - Mediana - Media - Q3 - Máximo


13.4 📊 4. Visualización básica

Para complementar la estadística descriptiva, podemos usar un histograma:

hist(x, main = "Histograma de valores", xlab = "Valores", col = "lightpink")

Y un boxplot:

boxplot(x, main = "Boxplot de valores", col = "lightblue")

13.5 🧪 5. Ejemplo completo

x <- c(5, 8, 12, 4, 6, 9, 10, 7)

media <- mean(x)
mediana <- median(x)
desv <- sd(x)
resumen <- summary(x)

cat("Media:", media, "\n")
cat("Mediana:", mediana, "\n")
cat("Desviación Estándar:", desv, "\n")
cat("\nResumen:\n")
print(resumen)

  • La estadística descriptiva permite obtener una visión general rápida de los datos.
  • R facilita estos cálculos con funciones simples e intuitivas.
  • Estas herramientas son la base para análisis más avanzados en genómica y ciencias de datos.

13.5.1 Referencias