1 Configuración y Carga de Datos

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.

# Selección manual del archivo
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 Produce Petróleo (PETROLEO), clasificada en tres niveles: Alto, Medio y Bajo, según los valores registrados en la columna PRODUCES_OIL.

Clasificación en tres categorías ordinales

datos <- datos %>%
  mutate(
    PETROLEO = case_when(
      PROD_LEVEL == "HIGH"   ~ "Alto",
      PROD_LEVEL == "MEDIUM" ~ "Medio",
      PROD_LEVEL == "LOW"    ~ "Bajo",
      TRUE                   ~ "No registrado"
    )
  ) %>%
  filter(PETROLEO != "No registrado")

3 Tabla de Distribución de Frecuencias

variable_oil <- datos %>% select(PETROLEO)


Se calcula la distribución de frecuencias absolutas ($n_i$) y porcentuales ($h_i\%$) para las tres categorías de la variable cualitativa ordinal, respetando la estructura de tres columnas estipulada por la cátedra.


``` r
# 1. Frecuencias absolutas
frecuencias_base <- datos %>%
  mutate(PETROLEO = factor(PETROLEO, levels = c("Alto", "Medio", "Bajo"))) %>%
  group_by(Produce_Petroleo = PETROLEO, .drop = FALSE) %>%
  summarise(Frecuencia_ni = n(), .groups = "drop") %>%
  arrange(Produce_Petroleo)

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

# 3. Fila TOTAL
total_fila <- data.frame(
  Produce_Petroleo = "TOTAL",
  Frecuencia_ni    = sum(tabla_final$Frecuencia_ni),
  Porcentaje_hi    = sum(tabla_final$Porcentaje_hi)
)

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

# 5. Tabla final
kable(
  resultado,
  caption   = "Tabla N°5 de Distribución de Frecuencias de la Variable Cualitativa Ordinal: Produce Petróleo",
  col.names = c("Produce Petróleo", "Frecuencia (ni)", "Porcentaje (hi%)"),
  align     = c("l", "c", "c")
)
Tabla N°5 de Distribución de Frecuencias de la Variable Cualitativa Ordinal: Produce Petróleo
Produce Petróleo Frecuencia (ni) Porcentaje (hi%)
Alto 15919 33.33
Medio 15919 33.33
Bajo 15919 33.33
TOTAL 47757 100.00

Autor: Grupo 6