library(tidyverse)
library(DT)
library(scales)
library(ggthemes)
library(plotly)
Graficación en R
Carga de paquetes
Carga de datos
<- read_csv("paises.csv") paises
#|label: tabla-paises
# Tabla de datos de paises
|>
paises select(NAME, CONTINENT, LIFE_EXPECTANCY, GDP_PC) |>
mutate(GDP_PC = round(GDP_PC, 2)) |>
datatable(options = list(
pageLength = 5,
language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')
) )
Ggplot2
ggplot(data = paises) +
geom_point(mapping = aes(x = GDP_PC, y = LIFE_EXPECTANCY))
PIB per cápita vs esperanza de vida al nacer
# Gráfico de dispersión de PIB per cápita vs esperanza de vida al nacer
# con tamaño de puntos correspondiente a la población
|>
paises ggplot(aes(x = GDP_PC, y = LIFE_EXPECTANCY, size = POP_EST, color = CONTINENT)) +
geom_point() +
scale_size_continuous(labels = comma) +
scale_x_continuous(labels = comma, limits = c(0, NA))
Gráfico de PIB per cápita vs esperanza de vida al nacer con línea de tendencia
|>
paises ggplot(aes(x = GDP_PC, y = LIFE_EXPECTANCY)) +
geom_point() +
geom_smooth(method = "loess") +
scale_x_continuous(labels = comma, limits = c(0, NA))
Gráfico de dispersión del PIB per cápita vs esperanza de vida al nacer
Paneles por continente
# Gráfico de dispersión de PIB per cápita vs esperanza de vida al nacer
# Paneles por continente
#| label: grafico-04
#| warning: false
#| message: false
|>
paises ggplot(aes(x = GDP_PC, y = LIFE_EXPECTANCY)) +
geom_point() +
facet_wrap(~ CONTINENT, nrow = 4) +
scale_x_continuous(labels = comma, limits = c(0, NA))
Warning: Removed 11 rows containing missing values or values outside the scale range
(`geom_point()`).
Títulos, etiquetas, estilos y colores
# Gráfico de dispersión de PIB per cápita vs esperanza de vida al nacer
# en África y Europa coloreado por continente
# + curva de tendencia
|>
paises filter(CONTINENT == 'Africa' | CONTINENT == 'Europe') |>
ggplot(aes(x = GDP_PC, y = LIFE_EXPECTANCY, color = CONTINENT)) +
geom_point() +
geom_smooth() +
scale_x_continuous(labels = comma, limits = c(0, NA)) +
scale_y_continuous(labels = comma, limits = c(50, 90)) +
ggtitle("PIB per cápita vs esperanza de vida al nacer por continente") +
xlab("PIB per cápita (USD)") +
ylab("Esperanza de vida (años)") +
labs(subtitle = "Datos de África y Europa",
caption = "Fuentes: Natural Earth y Banco Mundial",
color = "Continente") +
labs(color = "Población estimada") +
theme_clean()
Plotly
# Gráfico de dispersión de PIB per cápita vs esperanza de vida al nacer
<-
grafico_ggplot2 |>
paises ggplot(aes(x = GDP_PC, y = LIFE_EXPECTANCY, color = CONTINENT)) +
geom_point(aes(
text = paste0(
"País: ", NAME, "\n",
"PIB per cápita: ", GDP_PC, "\n",
"Esperanza de vida: ", LIFE_EXPECTANCY
)+
)) scale_x_continuous(labels = comma, limits = c(0, NA)) +
scale_y_continuous(labels = comma, limits = c(50, 90)) +
ggtitle("PIB per cápita vs esperanza de vida al nacer por continente") +
xlab("PIB per cápita (USD)") +
ylab("Esperanza de vida (años)") +
labs(caption = "Fuentes: Natural Earth y Banco Mundial",
color = "Continente") +
labs(color = "Población estimada") +
theme_clean()
# Gráfico plotly
ggplotly(grafico_ggplot2, tooltip = "text") |>
config(locale = 'es') # para mostrar los controles en español
TAREA 2
# Gráfico de dispersión de PIB per cápita vs esperanza de vida al nacer
# en África y Asia coloreado por continente
# + curva de tendencia
<-
grafico_tarea |>
paises filter(CONTINENT == 'Asia' | CONTINENT == 'Africa') |>
ggplot(aes(x = GDP_PC, y = LIFE_EXPECTANCY, color = CONTINENT)) +
geom_point(aes(text = paste0(
"País: ", NAME, "\n",
"PIB per cápita: ", GDP_PC, "\n",
"Esperanza de vida: ", LIFE_EXPECTANCY
+
))) geom_smooth(method = 'lm') +
scale_x_continuous(labels = comma, limits = c(0, NA)) +
scale_y_continuous(labels = comma, limits = c(50, 90)) +
ggtitle("PIB per cápita vs esperanza de vida al nacer en Asia y África") +
xlab("PIB per cápita (USD)") +
ylab("Esperanza de vida (años)") +
labs(subtitle = "Datos de África y Asia",
caption = "Fuentes: Natural Earth y Banco Mundial",
color = "Continente") +
theme_clean()
# Gráfico plotly
ggplotly(grafico_tarea, tooltip = "text") |>
config(locale = 'es')
# Gráfico de dispersión de PIB per cápita vs esperanza de vida al nacer
# + paneles por continente
|>
paises ggplot(aes(x = GDP_PC, y = LIFE_EXPECTANCY, colour = CONTINENT)) +
geom_point() +
facet_wrap(~ CONTINENT, nrow = 4) +
scale_x_continuous(labels = comma, limits = c(0, NA)) +
ggtitle("PIB per cápita vs esperanza de vida al nacer por continente") +
xlab("PIB per cápita (USD)") +
ylab("Esperanza de vida (años)") +
labs(caption = "Fuentes: Natural Earth y Banco Mundial",
color = "Continente")