library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(readxl)
library(gt)
datos <- read_excel("datos_deslizamientos.xlsx")
variable <- datos$country_name
datos <- datos %>%
mutate(
country_name_consol = case_when(
country_name %in% c(
"Canada","United States","Mexico","Guatemala","Belize",
"El Salvador","Honduras","Nicaragua","Costa Rica","Panama",
"Cuba","Jamaica","Haiti","Dominican Republic","Bahamas",
"Trinidad and Tobago","Barbados","Dominica","Grenada",
"Saint Lucia","Saint Vincent and the Grenadines",
"Antigua and Barbuda","Saint Kitts and Nevis",
"Argentina","Bolivia","Brazil","Chile","Colombia",
"Ecuador","Guyana","Paraguay","Peru","Suriname",
"Uruguay","Venezuela","French Guiana"
) ~ "América",
country_name %in% c(
"China","India","Japan","South Korea","North Korea",
"Indonesia","Malaysia","Thailand","Vietnam","Cambodia",
"Laos","Myanmar","Philippines","Singapore","Brunei",
"Nepal","Bhutan","Bangladesh","Pakistan","Afghanistan",
"Sri Lanka","Mongolia","Kazakhstan","Uzbekistan",
"Turkmenistan","Kyrgyzstan","Tajikistan","Iran","Iraq",
"Saudi Arabia","Yemen","Oman","United Arab Emirates",
"Qatar","Bahrain","Kuwait","Jordan","Lebanon","Israel",
"Syria","Turkey","Armenia","Azerbaijan","Georgia"
) ~ "Asia",
country_name %in% c(
"Spain","France","Germany","Italy","Portugal",
"United Kingdom","Ireland","Belgium","Netherlands",
"Luxembourg","Switzerland","Austria","Poland",
"Czech Republic","Slovakia","Hungary","Romania",
"Bulgaria","Greece","Croatia","Slovenia","Serbia",
"Bosnia and Herzegovina","Montenegro","Albania",
"North Macedonia","Norway","Sweden","Finland",
"Denmark","Iceland","Ukraine","Belarus","Moldova",
"Russia","Estonia","Latvia","Lithuania"
) ~ "Europa",
country_name %in% c(
"Australia","New Zealand","Papua New Guinea",
"Fiji","Solomon Islands","Vanuatu","Samoa","Tonga",
"Kiribati","Palau","Micronesia","Marshall Islands",
"Nauru","Tuvalu"
) ~ "Oceanía",
country_name %in% c(
"Algeria","Angola","Benin","Botswana","Burkina Faso",
"Burundi","Cameroon","Cape Verde","Central African Republic",
"Chad","Comoros","Congo","Democratic Republic of the Congo",
"Djibouti","Egypt","Equatorial Guinea","Eritrea",
"Eswatini","Ethiopia","Gabon","Gambia","Ghana",
"Guinea","Guinea-Bissau","Ivory Coast","Kenya",
"Lesotho","Liberia","Libya","Madagascar","Malawi",
"Mali","Mauritania","Mauritius","Morocco","Mozambique",
"Namibia","Niger","Nigeria","Rwanda","Senegal",
"Seychelles","Sierra Leone","Somalia","South Africa",
"South Sudan","Sudan","Tanzania","Togo","Tunisia",
"Uganda","Zambia","Zimbabwe"
) ~ "África",
)
)
variable <- datos$country_name_consol
variable <- variable[!is.na(variable)]
N <- length(variable)
TDFPais <- datos %>%
filter(!is.na(country_name_consol)) %>%
count(country_name_consol, name = "ni") %>%
mutate(
hi = round(ni / sum(ni), 2),
hi_porcentaje = round(hi * 100, 2)
)
TDFPais_total <- TDFPais %>%
add_row(
country_name_consol = "TOTAL",
ni = sum(TDFPais$ni),
hi = round(sum(TDFPais$hi), 2),
hi_porcentaje = round(sum(TDFPais$hi_porcentaje), 2)
)
TDFPais <- datos %>%
filter(!is.na(country_name_consol)) %>%
count(country_name_consol, name = "ni") %>%
mutate(
hi = ni / sum(ni),
hi_porcentaje = hi * 100
)
TDFPais_total <- TDFPais %>%
add_row(
country_name_consol = "TOTAL",
ni = sum(TDFPais$ni),
hi = 1,
hi_porcentaje = 100
)
tabla_presentacion <- TDFPais_total %>%
gt() %>%
tab_header(
title = md("**Tabla N° 1**"),
subtitle = md("Distribución de frecuencias de los países con registro de deslizamientos a nivel mundial")
) %>%
cols_label(
country_name_consol = "País",
ni = "Frecuencia absoluta (ni)",
hi = "Frecuencia relativa",
hi_porcentaje = "Frecuencia relativa (%)"
) %>%
fmt_number(
columns = hi,
decimals = 4
) %>%
fmt_number(
columns = hi_porcentaje,
decimals = 2
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(
rows = country_name_consol == "TOTAL"
)
) %>%
tab_source_note(
source_note = md("Autor: Grupo 1 – Carrera de Geología")
)
tabla_presentacion
| Tabla N° 1 | |||
| Distribución de frecuencias de los países con registro de deslizamientos a nivel mundial | |||
| País | Frecuencia absoluta (ni) | Frecuencia relativa | Frecuencia relativa (%) |
|---|---|---|---|
| América | 4184 | 0.4487 | 44.87 |
| Asia | 4168 | 0.4470 | 44.70 |
| Europa | 495 | 0.0531 | 5.31 |
| Oceanía | 274 | 0.0294 | 2.94 |
| África | 204 | 0.0219 | 2.19 |
| TOTAL | 9325 | 1.0000 | 100.00 |
| Autor: Grupo 1 – Carrera de Geología | |||
tabla_graficos <- TDFPais
par(mar = c(6, 5, 4, 2))
max_ni <- max(tabla_graficos$ni)
pos_x <- barplot(
tabla_graficos$ni,
names.arg = tabla_graficos$country_name_consol,
col = "steelblue",
border = "black",
space = 0.2,
las = 2,
ylim = c(0, max_ni + max_ni*0.10),
yaxt = "n",
main = "Gráfica 1: Distribución local de los países con\nregistro de deslizamientos a nivel mundial",
xlab = "",
ylab = "Cantidad",
cex.names = 0.65
)
mtext("Continente", side = 1, line = 5, cex = 1)
ticks_y <- round(
seq(0, max_ni, length.out = 5),
0
)
axis(
side = 2,
at = ticks_y,
labels = ticks_y,
las = 1
)
text(
x = pos_x,
y = tabla_graficos$ni,
labels = tabla_graficos$ni,
pos = 3,
font = 2,
cex = 0.6
)
par(mar = c(6, 5, 4, 2))
N_total <- sum(tabla_graficos$ni)
pos_x <- barplot(
tabla_graficos$ni,
names.arg = tabla_graficos$country_name_consol,
col = "steelblue",
border = "black",
space = 0.2,
las = 2,
ylim = c(0, N_total),
yaxt = "n",
main = "Gráfica 2: Distribución global de los países con\nregistro de deslizamientos a nivel mundial",
xlab = "",
ylab = "Cantidad",
cex.names = 0.65
)
mtext("Continente", side = 1, line = 5, cex = 1)
ticks_y <- round(
seq(0, N_total, length.out = 6),
0
)
axis(
side = 2,
at = ticks_y,
labels = ticks_y,
las = 1
)
abline(
h = N_total,
col = "red",
lty = 2,
lwd = 2
)
text(
x = pos_x,
y = tabla_graficos$ni,
labels = tabla_graficos$ni,
pos = 3,
font = 2,
cex = 0.6
)
par(mar = c(6, 5, 4, 2))
pos_x <- barplot(
tabla_graficos$hi_porcentaje,
names.arg = tabla_graficos$country_name_consol,
col = "skyblue",
border = "black",
space = 0.2,
las = 2,
ylim = c(0, max(tabla_graficos$hi_porcentaje)),
yaxt = "n",
main = "Gráfica 3: Distribución local en porcentaje de los\npaíses con registro de deslizamientos a nivel mundial",
xlab = "",
ylab = "Porcentaje (%)",
cex.names = 0.65
)
mtext("Continente", side = 1, line = 5, cex = 1)
ticks_y <- pretty(
c(0, max(tabla_graficos$hi_porcentaje)),
n = 6
)
axis(
side = 2,
at = ticks_y,
labels = ticks_y,
las = 1
)
text(
x = pos_x,
y = tabla_graficos$hi_porcentaje,
labels = round(tabla_graficos$hi_porcentaje, 2),
pos = 3,
font = 2,
cex = 0.6
)
par(mar = c(6, 5, 4, 2))
pos_x <- barplot(
tabla_graficos$hi_porcentaje,
names.arg = tabla_graficos$country_name_consol,
col = "skyblue",
border = "black",
space = 0.2,
las = 2,
ylim = c(0, 100),
yaxt = "n",
main = "Gráfica 4: Distribución global en porcentaje de los\npaíses con registro de deslizamientos a nivel mundial",
xlab = "",
ylab = "Porcentaje (%)",
cex.names = 0.65
)
mtext("Continente", side = 1, line = 5, cex = 1)
ticks_y <- seq(0, 100, by = 20)
axis(
side = 2,
at = ticks_y,
labels = ticks_y,
las = 1
)
abline(
h = 100,
col = "red",
lty = 2,
lwd = 2
)
text(
x = pos_x,
y = tabla_graficos$hi_porcentaje,
labels = round(tabla_graficos$hi_porcentaje, 2),
pos = 3,
font = 2,
cex = 0.6
)
par(mar = c(5, 4, 5, 8), xpd = TRUE)
colores <- rainbow(nrow(tabla_graficos))
pie(
tabla_graficos$hi_porcentaje,
labels = NA,
col = colores,
radius = 0.80,
main = "Gráfica 5. Distribución porcentual de los países\ncon registro de deslizamientos a nivel mundial"
)
legend(
x = 0.85,
y = 0,
legend = paste0(
tabla_graficos$country_name_consol,
" (", round(tabla_graficos$hi_porcentaje,2), "%)"
),
fill = colores,
cex = 0.45,
bty = "n"
)
par(xpd = FALSE)
# Moda
indice_moda <- which.max(tabla_graficos$ni)
moda_pais <- tabla_graficos$country_name_consol[indice_moda]
moda_ni <- tabla_graficos$ni[indice_moda]
moda_hi <- tabla_graficos$hi_porcentaje[indice_moda]
# Indicadores generales
n <- sum(tabla_graficos$ni)
numero_categorias <- nrow(tabla_graficos)
categoria_menos_frecuente <-
tabla_graficos$country_name_consol[
which.min(tabla_graficos$ni)
]
tabla_indicadores <- data.frame(
Indicador = c(
"Tamaño de la muestra",
"Número de categorías",
"Moda",
"Frecuencia absoluta de la moda",
"Frecuencia relativa de la moda (%)",
"País menos frecuente"
),
Resultado = c(
n,
numero_categorias,
moda_pais,
moda_ni,
round(moda_hi,2),
categoria_menos_frecuente
)
)
tabla_indicadores %>%
gt() %>%
tab_header(
title = md("**Tabla N° 2**"),
subtitle = md("Indicadores estadísticos de la variable País")
) %>%
cols_label(
Indicador = "Indicador",
Resultado = "Resultado"
) %>%
tab_source_note(
source_note = md("Autor: Grupo 1 – Carrera de Geología")
)
| Tabla N° 2 | |
| Indicadores estadísticos de la variable País | |
| Indicador | Resultado |
|---|---|
| Tamaño de la muestra | 9325 |
| Número de categorías | 5 |
| Moda | América |
| Frecuencia absoluta de la moda | 4184 |
| Frecuencia relativa de la moda (%) | 44.87 |
| País menos frecuente | África |
| Autor: Grupo 1 – Carrera de Geología | |
El valor más frecuente de la variable es América.