Para iniciar el procesamiento estadístico inferencial, se verifica la estructura global del conjunto de datos correspondientes a los bloques contractuales y arrendamientos de hidrocarburos en el estado de Kansas.
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
Se realiza el aislamiento de la variable cualitativa nominal Dirección de Rango (RANGE_DIRECTION), registrando E para dirección Este y W para dirección Oeste.
datos <- datos %>%
mutate(
DIRECCION = case_when(
RANGE_DIRECTION == "E" ~ "Este (E)",
RANGE_DIRECTION == "W" ~ "Oeste (W)",
TRUE ~ "No registrado"
)
) %>%
filter(DIRECCION != "No registrado")
Se calcula la distribución de frecuencias absolutas y porcentuales para las categorías de la variable cualitativa nominal.
frecuencias_base <- datos %>%
mutate(DIRECCION = factor(DIRECCION, levels = c("Este (E)", "Oeste (W)"))) %>%
group_by(Direccion_de_Rango = DIRECCION, .drop = FALSE) %>%
summarise(Frecuencia_ni = n(), .groups = "drop") %>%
arrange(Direccion_de_Rango)
tabla_final <- frecuencias_base %>%
mutate(Porcentaje_hi = (Frecuencia_ni / sum(Frecuencia_ni)) * 100)
total_fila <- data.frame(
Direccion_de_Rango = "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 Nominal: Dirección de Rango",
col.names = c("Dirección de Rango", "Frecuencia (ni)", "Porcentaje (hi%)"),
align = c("l", "c", "c")
)
| Dirección de Rango | Frecuencia (ni) | Porcentaje (hi%) |
|---|---|---|
| Este (E) | 12195 | 25.54 |
| Oeste (W) | 35562 | 74.46 |
| TOTAL | 47757 | 100.00 |
Autor: Grupo 6