library(tidyverse)
library(plotly)
library(DT)
library(scales)
library(palmerpenguins)Graficación ggplot2 y plotly
Carga de bibliotecas
Caraga de datos
# Carga de los datos de países
paises <-
read_csv(
"https://raw.githubusercontent.com/pf0953-programacionr/2024-ii/refs/heads/main/datos/natural-earth/paises-join-esperanzavida.csv"
)# Tabla de datos de paises
# paises |>
# filter(SUBREGION == 'Eastern Europe' & POP_EST >= 10000000) |>
# select(ADM0_ISO,NAME,POP_EST) |>
# arrange(desc(POP_EST)) |>
# datatable(
# options = list(
# pageLength = 10,
# language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')
# )
# )
paises |>
arrange(NAME) |>
datatable(
options = list(
pageLenght = 10,
language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')
)
)Gráficos con ggplot2
Gráficos básicos
Gráfico de dispersión de PIB per cápita vs esperanza de vidad al nacer
paises |>
ggplot(aes(x = GDP_PC, y = LIFE_EXPECTANCY)) +
geom_point() +
scale_x_continuous(labels = comma, limits = c(0, NA))
# Gráfico de dispersión de PIB per cápita vs esperanza de vida al nacer
# coloreado por continente
paises |>
ggplot(aes(x = GDP_PC, y = LIFE_EXPECTANCY, color = INCOME_GRP)) +
geom_point() +
scale_x_continuous(labels = comma, limits = c(0, NA))
paises |>
select(NAME,GDP_PC,LIFE_EXPECTANCY) |>
filter(GDP_PC >= 175000)# A tibble: 3 × 3
NAME GDP_PC LIFE_EXPECTANCY
<chr> <dbl> <dbl>
1 Liechtenstein 180857. 84.3
2 Monaco 184478. NA
3 Antarctica 200000 NA
# Gráfico de dispersión de PIB per cápita vs esperanza de vida al nacer
# coloreado por continente
paises |>
ggplot(aes(x = GDP_PC, y = LIFE_EXPECTANCY, shape = CONTINENT)) +
geom_point() +
scale_x_continuous(labels = comma, limits = c(0, NA))
Variables adicionales en los gráficos
# Gráfico de dispersión de PIB per cápita vs esperanza de vida al nacer
# con formas y colores correspondientes al continente
paises |>
ggplot(aes(x = GDP_PC, y = LIFE_EXPECTANCY, shape = CONTINENT, color = CONTINENT)) +
geom_point() +
scale_x_continuous(labels = comma, limits = c(0, NA)) +
scale_shape_manual(values = c(0, 1, 2, 3, 4, 5, 6, 7)) +
scale_color_manual(values = c("red", "blue", "green", "purple", "orange", "brown", "pink", "yellow"))
# 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 dispersión de PIB per cápita vs esperanza de vida al nacer
# + curva de tendencia
paises |>
ggplot(aes(x = GDP_PC, y = LIFE_EXPECTANCY)) +
geom_point() +
geom_smooth(method = 'loess', se = TRUE) +
scale_x_continuous(labels = comma, limits = c(0, NA))
# 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))
penguins |>
ggplot(aes(x = body_mass_g, y = bill_length_mm, color = island, size = flipper_length_mm)) +
geom_point()
Faces o paneles
# 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)) +
geom_point() +
facet_wrap(~ SUBREGION, nrow = 6) +
scale_x_continuous(labels = comma, limits = c(0, NA))