En esta sección llevaremos a cabo la manipulación y limpieza de los datos que utilizaremos en los ejercicios posteriores.
Cargar paquetes en R
Código
pacman::p_load( gapminder, # Datos mundiales tidyverse, # gestión de datos DT, # Tablas bonitas gtsummary, # generar resumenes psych, # tabla con estadisticos knitr, # Tabla bonita flextable, gt)
30.1 Selección de datos
Nos gustaría conocer la información relacionada con la esperanza de vida (lifeExp), la población total del país (pop) y el producto interno bruto per cápita (gdpPercap) de los países involucrados en el Proyecto JAGUAR - UNAM durante el año 2007, utilizando el conjunto de datos gapminder disponible a través del paquete gapminder en R.
Código
# Paises involucrados con el proyecto JAGUARJAGUAR_paises <-c("Argentina", "Brazil", "Colombia", "Chile", "Mexico", "Peru", "Uruguay")# Seleccionar la informacion relacionada con los paises del proyecto JAGUAR durante todos los years registradosJAGUAR_gapminder <- gapminder::gapminder %>%mutate(# Convertir paises de factor a caracter para tener capas independientes por paises en la figura interactivaid =levels(country)[as.numeric(country)],country = forcats::fct_reorder(country, lifeExp)) %>%filter(continent =="Americas") %>%filter(country %in% JAGUAR_paises) %>%# seleccionar paisesdroplevels() # eliminar niveles de factor no utilizados
Revisar informacion
Código
# Visualizar informacion en una tabla bonitaJAGUAR_gapminder %>% DT::datatable()
Guardar la variable
Código
# crear una carpeta para la salida# Eliminar si existeif (dir.exists("data")) {unlink("data", recursive =TRUE)}# Crear el nuevo directoriodir.create("data")# Guardar la variablesave(JAGUAR_gapminder, file ="data/JAGUAR_gapminder.RData")
30.2 Estadística descriptiva de los datos
30.2.1TIPO 1: Tabla con summary() (Base R) 🟢
La forma más simple y rápida de obtener estadísticas.
lifeExp pop gdpPercap
Min. :39.61 Min. :1.996e+05 Min. : 277.6
1st Qu.:57.16 1st Qu.:4.508e+06 1st Qu.: 1624.8
Median :71.94 Median :1.052e+07 Median : 6124.4
Mean :67.01 Mean :4.402e+07 Mean :11680.1
3rd Qu.:76.41 3rd Qu.:3.121e+07 3rd Qu.:18008.8
Max. :82.60 Max. :1.319e+09 Max. :49357.2
Ventajas:
✅ Muy rápido
✅ No requiere paquetes adicionales
✅ Muestra 6 estadísticas automáticamente
Desventajas:
❌ No es muy bonito
❌ Difícil de personalizar
❌ No agrupa bien
30.2.2TIPO 2: Tabla con describe() (Paquete psych) 🟡
gapminder %>%filter(year ==2007) %>%group_by(continent) %>%summarize( Países =n(),`Esperanza de Vida (media)`=round(mean(lifeExp), 2),`Esperanza de Vida (SD)`=round(sd(lifeExp), 2),`PIB per Cápita (media)`=round(mean(gdpPercap), 0),.groups ='drop' ) %>%kable(caption ="Estadísticas por Continente en 2007",align =c("l", "c", "c", "c", "c") )
Estadísticas por Continente en 2007
continent
Países
Esperanza de Vida (media)
Esperanza de Vida (SD)
PIB per Cápita (media)
Africa
52
54.81
9.63
3089
Americas
25
73.61
4.44
11003
Asia
33
70.73
7.96
12473
Europe
30
77.65
2.98
25054
Oceania
2
80.72
0.73
29810
30.2.5TIPO 5: Tabla con flextable() 🟣
Código
gapminder %>%filter(year ==2007) %>%group_by(continent) %>%summarize( Países =n(),`Esperanza de Vida`=round(mean(lifeExp), 2),`PIB per Cápita`=round(mean(gdpPercap), 0),.groups ='drop' ) %>%flextable() %>%set_header_labels(continent ="Continente", Países ="Número de Países",`Esperanza de Vida`="Esperanza de Vida (años)",`PIB per Cápita`="PIB per Cápita (USD)" ) %>%autofit() %>%theme_vanilla()
Continente
Número de Países
Esperanza de Vida (años)
PIB per Cápita (USD)
Africa
52
54.81
3,089
Americas
25
73.61
11,003
Asia
33
70.73
12,473
Europe
30
77.65
25,054
Oceania
2
80.72
29,810
Resultado: Tabla profesional con formato automático
30.2.6TIPO 6: Tabla Dinámica (Pivot Table) 🔵
Código
gapminder %>%filter(year %in%c(1952, 1982, 2007)) %>%group_by(continent, year) %>%summarize(media_lifeExp =round(mean(lifeExp), 2),.groups ='drop' ) %>%pivot_wider(names_from = year,values_from = media_lifeExp ) %>%kable(caption ="Esperanza de Vida por Continente (1952, 1982, 2007)" )
Esperanza de Vida por Continente (1952, 1982, 2007)
continent
1952
1982
2007
Africa
39.14
51.59
54.81
Americas
53.28
66.23
73.61
Asia
46.31
62.62
70.73
Europe
64.41
72.81
77.65
Oceania
69.25
74.29
80.72
30.2.7TIPO 7: Tabla con gt() (Great Tables) 🟢
Código
gapminder %>%filter(year ==2007) %>%group_by(continent) %>%summarize( Países =n(),`Esperanza de Vida`=mean(lifeExp),`PIB per Cápita`=mean(gdpPercap),.groups ='drop' ) %>%gt() %>%fmt_number(columns =c(`Esperanza de Vida`, `PIB per Cápita`),decimals =2 ) %>%tab_header(title ="Estadísticas por Continente en 2007",subtitle ="Datos de Gapminder" ) %>%cols_label(continent ="Continente", Países ="Número de Países",`Esperanza de Vida`="Esperanza de Vida (años)",`PIB per Cápita`="PIB per Cápita (USD)" )
Estadísticas por Continente en 2007
Datos de Gapminder
Continente
Número de Países
Esperanza de Vida (años)
PIB per Cápita (USD)
Africa
52
54.81
3,089.03
Americas
25
73.61
11,003.03
Asia
33
70.73
12,473.03
Europe
30
77.65
25,054.48
Oceania
2
80.72
29,810.19
Uso: Para publicaciones y reportes científicos
30.2.8TIPO 8: Tabla Interactiva con DT::datatable() 🟡
Código
gapminder %>%filter(year ==2007) %>%select(country, continent, lifeExp, pop, gdpPercap) %>%datatable(colnames =c("País", "Continente", "Esperanza de Vida", "Población", "PIB per Cápita"),options =list(pageLength =10,searching =TRUE,ordering =TRUE ),caption ="Datos de Gapminder 2007" )
30.2.9TIPO 9: Tabla profesional para artículos
Obtener un resumen descriptivo de la esperanza de vida media en los países seleccionados.
Código
JAGUAR_gapminder %>%# Eliminar columnasselect(-continent, -id, -year) %>%# Estadistica descriptiva en la tabla. Crea la tabla de resumen.tbl_summary(by = country, # Para variables continuas (lifeExp, pop, gdpPercap). Muestra: Media (Desviación Estándar)statistic =list(all_continuous() ~"{mean} ({sd})", # Para variables categóricas (country). Muestra: Conteo / Total (Porcentaje) all_categorical() ~"{n} / {N} ({p}%)"),# {N} se reemplaza automáticamente con el número total de observaciones# Redondea variables continuas a 2 decimalesdigits =all_continuous() ~2) %>%# Nombre del titulo de la tablamodify_caption("Caracteristicas de los paises (N = {N})") %>%# Convierte la tabla a formato gt (Great Tables) para mejor visualización.as_gt()
Caracteristicas de los paises (N = 84)
Characteristic
Peru
N = 121
Brazil
N = 121
Colombia
N = 121
Mexico
N = 121
Chile
N = 121
Argentina
N = 121
Uruguay
N = 121
lifeExp
58.86 (9.57)
62.24 (7.04)
63.90 (6.98)
65.41 (8.19)
67.43 (8.67)
69.06 (4.19)
70.78 (3.34)
pop
17,559,093.00 (7,053,307.63)
122,312,126.67 (45,747,618.44)
27,256,099.58 (10,535,047.08)
68,414,297.42 (26,954,820.63)
11,205,725.33 (3,333,125.57)
28,602,239.92 (7,546,608.99)
2,912,487.17 (368,526.99)
gdpPercap
5,613.84 (1,056.66)
5,829.32 (2,436.45)
4,195.34 (1,652.93)
7,724.11 (2,770.81)
6,703.29 (3,026.19)
8,955.55 (1,862.58)
7,100.13 (1,612.26)
1 Mean (SD)
30.3 Referencias
Cap 6.5 EDA in tables - Tablas bonitas con estadistica