1 Configuración y Carga de Datos

Para iniciar el procesamiento estadístico inferencial, se verifica la estructura global del conjunto de datos.

datos <- read_csv(file.choose(), show_col_types = FALSE)
cat("Base de datos cargada correctamente.\n")
## Base de datos cargada correctamente.
cat("Total de registros evaluados (filas):", nrow(datos), "\n")
## Total de registros evaluados (filas): 47757

2 Extraer Variable

Se realiza el aislamiento de la variable cualitativa ordinal Etapa de Vida.

datos <- datos %>%
  mutate(
    ETAPA = case_when(
      LIFE_STAGE == "NEW"    ~ "Nueva",
      LIFE_STAGE == "MATURE" ~ "Madura",
      LIFE_STAGE == "OLD"    ~ "Antigua",
      TRUE                   ~ "No registrado"
    )
  ) %>%
  filter(ETAPA != "No registrado")

3 Tabla de Distribución de Frecuencias

Se calcula la distribución de frecuencias absolutas y porcentuales.

frecuencias_base <- datos %>%
  mutate(ETAPA = factor(ETAPA, levels = c("Nueva", "Madura", "Antigua"))) %>%
  group_by(Etapa_de_Vida = ETAPA, .drop = FALSE) %>%
  summarise(Frecuencia_ni = n(), .groups = "drop") %>%
  arrange(Etapa_de_Vida)

tabla_final <- frecuencias_base %>%
  mutate(Porcentaje_hi = (Frecuencia_ni / sum(Frecuencia_ni)) * 100)

total_fila <- data.frame(
  Etapa_de_Vida = "TOTAL",
  Frecuencia_ni  = sum(tabla_final$Frecuencia_ni),
  Porcentaje_hi  = sum(tabla_final$Porcentaje_hi)
)

resultado <- bind_rows(
  tabla_final %>% mutate(Porcentaje_hi = sprintf("%.2f", Porcentaje_hi)),
  total_fila  %>% mutate(Porcentaje_hi = sprintf("%.2f", Porcentaje_hi))
)

kable(
  resultado,
  caption   = "Tabla de Distribución de Frecuencias de la Variable Cualitativa Ordinal: Etapa de Vida",
  col.names = c("Etapa de Vida", "Frecuencia (ni)", "Porcentaje (hi%)"),
  align     = c("l", "c", "c")
)
Tabla de Distribución de Frecuencias de la Variable Cualitativa Ordinal: Etapa de Vida
Etapa de Vida Frecuencia (ni) Porcentaje (hi%)
Nueva 11615 24.32
Madura 20939 43.84
Antigua 15203 31.83
TOTAL 47757 100.00

Autor: Grupo 6