1 Configuración y Carga de Datos

Para iniciar el procesamiento estadístico de la variable cualitativa nominal Produce Petróleo, se verifica la estructura global del conjunto de datos correspondientes a los bloques contractuales y arrendamientos de hidrocarburos en el estado de Kansas. Esto permite asegurar la integridad de los registros de forma eficiente.

datos <- read_csv("C:/Users/luisq/Downloads/oil_and_gas_leases_data.csv",
                  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 nominal Produce Petróleo (PRODUCES_OIL), la cual indica de forma binaria si el pozo registra producción de petróleo. Toma el valor 1 para pozos que sí producen y 0 para los que no. Se traduce formalmente al idioma español para su presentación.

datos <- datos %>%
  filter(!is.na(PRODUCES_OIL)) %>%
  mutate(PETROLEO = case_when(
    PRODUCES_OIL == 1 ~ "Sí produce",
    PRODUCES_OIL == 0 ~ "No produce"
  )) %>%
  mutate(PETROLEO = factor(PETROLEO, levels = c("Sí produce", "No produce")))

variable_oil <- datos %>% select(PETROLEO)

3 Tabla de Distribución de Frecuencias

Se calcula la distribución de frecuencias absolutas (\(n_i\)) y porcentuales (\(h_i\%\)) para las dos categorías de la variable, respetando la estructura de tres columnas estipulada por la cátedra. La variable presenta únicamente 2 categorías, por lo que no se requiere agrupación.

frecuencias <- datos %>%
  group_by(Produce_Petroleo = PETROLEO, .drop = FALSE) %>%
  summarise(Frecuencia_ni = n(), .groups = "drop")

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

total_fila <- data.frame(
  Produce_Petroleo = "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),
                         Produce_Petroleo = as.character(Produce_Petroleo)),
  total_fila  %>% mutate(Porcentaje_hi = sprintf("%.2f", Porcentaje_hi))
)

kable(resultado,
      caption   = "Tabla N°3 de Distribución de Frecuencias de la Variable Cualitativa Nominal: Produce Petróleo",
      col.names = c("Produce Petróleo", "Frecuencia (ni)", "Porcentaje (hi%)"),
      align     = c("l","c","c"))
Tabla N°3 de Distribución de Frecuencias de la Variable Cualitativa Nominal: Produce Petróleo
Produce Petróleo Frecuencia (ni) Porcentaje (hi%)
Sí produce 32640 68.35
No produce 15117 31.65
TOTAL 47757 100.00

Autor: Grupo 6