Carga de datos y librerías Extraer la variable Conclusión

1. CARGA DE DATOS Y LIBRERÍAS

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")

2. EXTRAER LA VARIABLE

variable <- datos$country_name

3. CONTEO

3.1 Consolidación de categorías

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",

    )
  )

3.2 Conteo de datos

variable <- datos$country_name_consol

variable <- variable[!is.na(variable)]

N <- length(variable)

3.3 Cálculo de frecuencias

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)
  )

4. TABLA DE FRECUENCIAS

4.1 Tabla de frecuencias

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
  )

4.2 Presentación de la tabla

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

5. GRÁFICAS

5.1 Distribución local de los países con registro de deslizamientos a nivel mundial

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
)

5.2 Distribución global de los países con registro de deslizamientos a nivel mundial

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
)


5.3 Distribución local en porcentaje de los países con registro de deslizamientos a nivel mundial

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
)


5.4 Distribución global en porcentaje de los países con registro de deslizamientos a nivel mundial

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
)


5.5 Diagrama circular

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)

6. INDICADORES

6.1 Indicadores estadísticos

# 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)
  ]

6.2 Tabla resumen de indicadores

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

7. CONCLUSIÓN

El valor más frecuente de la variable es América.