Ir al contenido principal

Tutorial de gráficos con ggplot2

La visualización de datos es una habilidad esencial para los científicos de datos. Combina estadística y diseño de forma significativa y adecuada.
Actualizado 17 sept 2026  · 6 min leer

Explorar con IA

ChatGPTClaudePerplexity

La visualización de datos es una habilidad esencial para los científicos de datos. Combina estadística y diseño de forma significativa y adecuada. Por un lado, la visualización de datos es una forma de análisis gráfico, que pone el foco en la representación precisa y la interpretación de los datos. Por otro, depende de buenas decisiones de diseño para que los gráficos resulten atractivos y faciliten tanto la comprensión como la comunicación de los resultados. Además, hay un componente creativo, porque en esencia la visualización de datos es una forma de comunicación visual.

diagrama de Venn de visualización de datos

Es importante distinguir entre visualizaciones exploratorias y explicativas. Las exploratorias se generan con facilidad, cargadas de datos, y están pensadas para una audiencia técnica y reducida, como tú y tu equipo: su objetivo principal es el análisis gráfico. Las explicativas requieren más trabajo, son específicas de los datos y se dirigen a una audiencia más amplia, por ejemplo en publicaciones o presentaciones: forman parte del proceso de comunicación. Como científico de datos, necesitas explorar datos con rapidez, pero también tendrás que explicar tus resultados a las partes interesadas. Un buen diseño empieza pensando en la audiencia, y a veces esa audiencia somos nosotros mismos.

diagrama de visualización para científicos de datos

Diagrama de dispersión

A continuación, tenemos un conjunto de datos con los pesos medios del cerebro y del cuerpo de 62 mamíferos.

 MASS::mammals
                              body   brain
Arctic fox                   3.385   44.50
Owl monkey                   0.480   15.50
Mountain beaver              1.350    8.10
Cow                        465.000  423.00
Grey wolf                   36.330  119.50
Goat                        27.660  115.00
Roe deer                    14.830   98.20
...
Pig                        192.000  180.00
Echidna                      3.000   25.00
Brazilian tapir            160.000  169.00
Tenrec                       0.900    2.60
Phalanger                    1.620   11.40
Tree shrew                   0.104    2.50
Red fox                      4.235   50.40 

Para entender la relación, el primer paso más obvio es crear un diagrama de dispersión como el de abajo:

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point()
diagrama de dispersión

Dos mamíferos, los elefantes africano y asiático, tienen pesos corporales y cerebrales muy grandes, lo que provoca un sesgo positivo en ambos ejes.

Modelo lineal

Si aplicáramos un modelo lineal aquí, sería una mala elección porque unos pocos valores extremos ejercen mucha influencia.

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point(alpha = 0.6) +
  stat_smooth(
    method = "lm",
    color = "red",
    se = FALSE
  )
modelo lineal sobre diagrama de dispersión

Aplicar una transformación logarítmica a ambas variables permite un mejor ajuste.

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point(alpha = 0.6) +
  coord_fixed() +
  scale_x_log10() +
  scale_y_log10() +
  stat_smooth(
    method = "lm",
    color = "#C42126",
    se = FALSE,
    size = 1
  )
transformación logarítmica en diagrama lineal

Así que, aunque empezamos con un gráfico exploratorio sencillo, nos ayudó a entender nuestros datos y a llegar a un resultado significativo.

Gráficos de Anscombe

Cuando imaginamos un modelo lineal, como en este gráfico anónimo, pensamos que estamos describiendo datos que se parecen a esto.

modelo lineal en gráfico anónimo

Pero ese mismo modelo podría estar describiendo un conjunto de datos muy distinto, como una relación parabólica, que exigiría otro modelo.

gráfico de relación parabólica

O datos en los que un valor extremo tiene un gran efecto, algo que se hace evidente al eliminar el valor atípico.

valor atípico eliminado en gráfico lineal

Y, a veces, el modelo puede describir una relación donde en realidad no hay ninguna, porque algunos valores extremos pueden ser incorrectos.

valores extremos incorrectos en gráfico lineal

Si nos limitáramos al resultado numérico sin representar los datos, pasaríamos por alto patrones subyacentes claros e interesantes.

tendencias en gráficos lineales

Vemos que la visualización de datos tiene raíces en la estadística y el análisis gráfico, pero también es un proceso creativo que implica cierta experimentación.

Ejemplo interactivo

En el siguiente ejemplo, primero cargarás el paquete ggplot2 con library(). Después, usarás str() para explorar la estructura del conjunto de datos mtcars.

Por último, visualizarás el ggplot e intentarás entender qué hace ggplot con los datos.

Utilizarás el conjunto de datos mtcars, que contiene información sobre 32 coches de un número de 1973 de la revista Motor Trend. Es un dataset pequeño, intuitivo y con una variedad de variables continuas y categóricas.

# Load the ggplot2 package
library(ggplot2)

# Explore the mtcars data frame with str()
str(mtcars)

# Execute the following command
p <- ggplot(mtcars, aes(cyl, mpg)) +
  geom_point()

Al ejecutar el código anterior, se obtiene el siguiente resultado:

data.frame':    32 obs. of  11 variables:
 $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
 $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
 $ disp: num  160 160 108 258 360 ...
 $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
 $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
 $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
 $ qsec: num  16.5 17 18.6 19.4 17 ...
 $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
 $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
 $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
 $ carb: num  4 4 1 1 2 1 4 2 2 4 ...
gráfico de ggplot

Para aprender más sobre la visualización de datos con ggplot, echa un vistazo a este vídeo de nuestro curso Introduction to Data Visualization with ggplot2. Además, ten a mano nuestra ggplot2 Cheat Sheet como referencia rápida. 

Este contenido está extraído del curso Introduction to Data Visualization with ggplot2 de DataCamp, por Rick Scavetta.

Temas
R
Ciencia de datos

Cursos relacionados

Curso

Visualización de datos intermedia con ggplot2

4 h
57.2K
Aprende a utilizar facetas, sistemas de coordenadas y estadísticas en ggplot2 para crear gráficos explicativos significativos.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado

Tutorial

Cómo hacer un histograma ggplot2 en R

Aprenda a hacer un histograma ggplot2 en R. Haga histogramas en R basándose en la gramática de los gráficos.

Kevin Babitz

15 min

Tutorial

Tutorial de regresión lineal en R

En este tutorial aprenderás los fundamentos de un modelo estadístico muy popular: la regresión lineal.

Eladio Montero Porras

15 min

Tutorial

Tutorial de tablas de contingencia en R

En este tutorial, aprenderás a crear tablas de contingencia y a probar y cuantificar las relaciones visibles en ellas.
Łukasz Deryło's photo

Łukasz Deryło

10 min

Tutorial

Tutorial de Python Seaborn Line Plot: Crear visualizaciones de datos

Descubra cómo utilizar Seaborn, una popular biblioteca de visualización de datos de Python, para crear y personalizar gráficos de líneas en Python.
Elena Kosourova's photo

Elena Kosourova

12 min

Tutorial

Python Seaborn Tutorial Para Principiantes: Empezar a visualizar datos

Este tutorial de Seaborn le introduce en los fundamentos de la visualización de datos estadísticos
Moez Ali's photo

Moez Ali

20 min

Tutorial

Tutorial de pruebas T en R: Aprende a realizar pruebas T

Determina si existe una diferencia significativa entre las medias de los dos grupos utilizando t.test() en R.
Abid Ali Awan's photo

Abid Ali Awan

10 min

Ver MásVer Más