1 Configuración y Carga de Datos

Se carga el conjunto de datos de arrendamientos de hidrocarburos del estado de Kansas, EE.UU., registrados por el Kansas Geological Survey, para proceder con el análisis inferencial de la variable cualitativa nominal dicotómica Produce Gas.

ruta_archivo <- file.choose()
datos <- read_csv(ruta_archivo, show_col_types = FALSE)

cat("Dataset cargado correctamente.\n")
## Dataset cargado correctamente.
cat("Total de registros evaluados (filas):", nrow(datos), "\n")
## Total de registros evaluados (filas): 47757

2 Extracción y Limpieza de la Variable

La variable PRODUCES_GAS indica si el arrendamiento registra producción de gas. Se filtran únicamente los valores válidos: Yes y No; luego se traducen al español como y No.

cat("Valores únicos originales en PRODUCES_GAS:\n")
## Valores únicos originales en PRODUCES_GAS:
print(unique(datos$PRODUCES_GAS))
## [1] 0 1
x_raw <- datos %>%
  mutate(PRODUCES_GAS_clean = trimws(toupper(as.character(PRODUCES_GAS)))) %>%
  filter(PRODUCES_GAS_clean %in% c("YES", "NO", "Y", "N", "TRUE", "FALSE", "1", "0")) %>%
  mutate(
    produce_gas = case_when(
      PRODUCES_GAS_clean %in% c("YES", "Y", "TRUE", "1") ~ "Sí",
      PRODUCES_GAS_clean %in% c("NO", "N", "FALSE", "0")  ~ "No"
    )
  ) %>%
  pull(produce_gas)

n <- length(x_raw)

if (n == 0) {
  stop("No se encontraron valores reconocibles en PRODUCES_GAS. Revisa los valores únicos impresos arriba y ajusta el filtro.")
}

x_raw <- factor(x_raw, levels = c("Sí", "No"))

k <- length(unique(x_raw))

cat("Observaciones válidas:", n, "\n")
## Observaciones válidas: 47757
cat("Categorías distintas:", k, "\n")
## Categorías distintas: 2
cat("\nDistribución por categoría:\n")
## 
## Distribución por categoría:
print(table(x_raw))
## x_raw
##    Sí    No 
## 15117 32640

3 Identificación de la Variable

Criterio Clasificación
Nombre Produce Gas
Nombre técnico PRODUCES_GAS
Tipo Cualitativa
Subtipo Nominal dicotómica
Dominio {Sí, No}
Rango 2 categorías
Unidad No aplica
Escala Nominal
Fuente Kansas Geological Survey - Kansas, EE.UU.

Justificación: La variable toma únicamente dos valores posibles, y No, sin orden natural entre ellos. Por tanto, corresponde a una variable cualitativa nominal dicotómica. En variables nominales, la probabilidad de ocurrencia de cada categoría se estima mediante su frecuencia relativa observada:

\[P(X = x_i) = h_i = \frac{n_i}{n}\]

donde \(n_i\) es la frecuencia absoluta de la categoría \(i\) y \(n\) es el total de observaciones válidas.


4 Tabla de Distribución de Frecuencias

Se construye la tabla de distribución de frecuencias de la variable cualitativa nominal Produce Gas, correspondiente a los arrendamientos de hidrocarburos registrados en Kansas, EE.UU., durante el período histórico disponible (n = 47,757).

freq_abs   <- table(x_raw)
categorias <- names(freq_abs)
ni         <- as.integer(freq_abs)
hi_pct     <- ni / n * 100
hi_frac    <- ni / n

tabla_df <- data.frame(
  Categoria = categorias,
  ni        = ni,
  hi_pct    = sprintf("%.2f%%", hi_pct),
  hi_frac   = sprintf("%.4f", hi_frac),
  stringsAsFactors = FALSE
)

total_row <- data.frame(
  Categoria = "**TOTAL**",
  ni        = n,
  hi_pct    = "100.00%",
  hi_frac   = "1.0000",
  stringsAsFactors = FALSE
)

tabla_df$ni <- as.character(tabla_df$ni)
total_row$ni <- as.character(total_row$ni)

tabla_final <- bind_rows(tabla_df, total_row)

kable(
  tabla_final,
  caption = paste0(
    "Cuadro N°1: Distribución de Frecuencias de la Variable Cualitativa Nominal Produce Gas, ",
    "registrada en los arrendamientos de hidrocarburos del estado de Kansas, EE.UU., ",
    "período histórico disponible (n = ", format(n, big.mark = ","), " registros válidos)."
  ),
  col.names = c("Produce Gas", "Frecuencia (n_i)", "Porcentaje (h_i %)", "Porcentaje en fracción (h_i)"),
  align = c("l", "c", "c", "c"),
  escape = FALSE
) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed", "bordered"),
    full_width = TRUE,
    font_size = 12
  ) %>%
  row_spec(0, bold = TRUE, background = "#d3d3d3", color = "black") %>%
  row_spec(nrow(tabla_final), bold = TRUE, background = "#a9a9a9", color = "black")
Cuadro N°1: Distribución de Frecuencias de la Variable Cualitativa Nominal Produce Gas, registrada en los arrendamientos de hidrocarburos del estado de Kansas, EE.UU., período histórico disponible (n = 47,757 registros válidos).
Produce Gas Frecuencia (n_i) Porcentaje (h_i %) Porcentaje en fracción (h_i)
15117 31.65% 0.3165
No 32640 68.35% 0.6835
TOTAL 47757 100.00% 1.0000

5 Representación Gráfica

5.1 Gráfica N°1 - Diagrama de Barras (Frecuencia Absoluta)

freq_ord  <- sort(table(x_raw), decreasing = TRUE)
colores_g <- gray(seq(0.35, 0.75, length.out = length(freq_ord)))

par(mar = c(5, 6, 7, 2))
bp <- barplot(
  as.numeric(freq_ord),
  names.arg = names(freq_ord),
  col = colores_g,
  border = "black",
  ylim = c(0, max(as.numeric(freq_ord)) * 1.18),
  xlab = "",
  ylab = "",
  main = "",
  las = 1
)

text(
  bp,
  as.numeric(freq_ord) + max(as.numeric(freq_ord)) * 0.02,
  labels = format(as.numeric(freq_ord), big.mark = ","),
  cex = 0.9
)

mtext("Frecuencia Absoluta (n_i)", side = 2, line = 4.5, cex = 1)
mtext("Produce Gas", side = 1, line = 3, cex = 1)
mtext(
  "Gráfica N°1: Diagrama de Barras - Frecuencia Absoluta\nde la Variable Produce Gas, Kansas, EE.UU.",
  side = 3,
  line = 3.5,
  cex = 0.9,
  font = 2
)

5.2 Gráfica N°2 - Diagrama de Barras (Porcentaje)

pct_ord <- sort(table(x_raw) / n * 100, decreasing = TRUE)

par(mar = c(5, 6, 7, 2))
bp2 <- barplot(
  as.numeric(pct_ord),
  names.arg = names(pct_ord),
  col = colores_g,
  border = "black",
  ylim = c(0, max(as.numeric(pct_ord)) * 1.18),
  xlab = "",
  ylab = "",
  main = "",
  las = 1
)

text(
  bp2,
  as.numeric(pct_ord) + max(as.numeric(pct_ord)) * 0.02,
  labels = paste0(round(as.numeric(pct_ord), 2), "%"),
  cex = 0.9
)

mtext("Porcentaje (h_i %)", side = 2, line = 4.5, cex = 1)
mtext("Produce Gas", side = 1, line = 3, cex = 1)
mtext(
  "Gráfica N°2: Diagrama de Barras - Porcentaje\nde la Variable Produce Gas, Kansas, EE.UU.",
  side = 3,
  line = 3.5,
  cex = 0.9,
  font = 2
)

5.3 Gráfica N°3 - Diagrama Circular (Distribución Porcentual)

pct_circ <- table(x_raw) / n * 100
grises_c <- gray(c(0.35, 0.72))

par(mar = c(2, 2, 6, 2))
pie(
  as.numeric(pct_circ),
  labels = paste0(names(pct_circ), "\n", round(as.numeric(pct_circ), 2), "%"),
  col = grises_c,
  border = "black",
  main = ""
)

mtext(
  "Gráfica N°3: Diagrama Circular - Distribución Porcentual\nde la Variable Produce Gas, Kansas, EE.UU.",
  side = 3,
  line = 3.5,
  cex = 0.9,
  font = 2
)


6 Tabla de Indicadores

moda_val <- categorias[which.max(ni)]
moda_hi  <- max(ni) / n

tabla_indicadores <- data.frame(
  Indicador = c(
    "Variable",
    "Tipo de variable",
    "Categorías (Rango)",
    "Moda (Mo)",
    "Mediana (Me)",
    "Media (X̄)",
    "Varianza (V)",
    "Desv. Estándar (Sd)",
    "Coef. Variación (CV%)",
    "Asimetría (As)",
    "Curtosis (K)"
  ),
  Valor = c(
    "Produce Gas",
    "Cualitativa Nominal Dicotómica",
    "Sí — No",
    moda_val,
    "—",
    "—",
    "—",
    "—",
    "—",
    "—",
    "—"
  )
)

tabla_indicadores %>%
  gt() %>%
  tab_header(
    title    = md("**Tabla N°2: Indicadores Estadísticos**"),
    subtitle = md("*Variable Cualitativa Nominal: Produce Gas*")
  ) %>%
  cols_label(
    Indicador = md("**Indicador**"),
    Valor     = md("**Valor**")
  ) %>%
  tab_style(
    style = list(
      cell_fill(color = "#2C2C2C"),
      cell_text(color = "white", weight = "bold")
    ),
    locations = cells_column_labels()
  ) %>%
  tab_style(
    style = cell_fill(color = "#F5F5F5"),
    locations = cells_body(rows = seq(1, nrow(tabla_indicadores), by = 2))
  ) %>%
  tab_style(
    style = list(
      cell_fill(color = "#D6D6D6"),
      cell_text(weight = "bold")
    ),
    locations = cells_body(
      rows    = Indicador == "Moda (Mo)",
      columns = everything()
    )
  ) %>%
  tab_style(
    style = cell_text(style = "italic", color = "gray40"),
    locations = cells_body(
      rows    = Valor == "—",
      columns = Valor
    )
  ) %>%
  tab_source_note(source_note = md("*Autor: Araujo Valeska*")) %>%
  tab_options(
    table.width                = pct(60),
    heading.title.font.size    = px(16),
    heading.subtitle.font.size = px(12),
    table.font.size            = px(13),
    data_row.padding           = px(6)
  )
Tabla N°2: Indicadores Estadísticos
Variable Cualitativa Nominal: Produce Gas
Indicador Valor
Variable Produce Gas
Tipo de variable Cualitativa Nominal Dicotómica
Categorías (Rango) Sí — No
Moda (Mo) No
Mediana (Me)
Media (X̄)
Varianza (V)
Desv. Estándar (Sd)
Coef. Variación (CV%)
Asimetría (As)
Curtosis (K)
Autor: Araujo Valeska

7 Conclusión

La variable Produce Gas es una variable cualitativa nominal dicotómica cuyas categorías son Sí y No. Su valor más frecuente (moda) es No, con una participación del 68.35% en la muestra, lo que evidencia que la mayoría de los arrendamientos de hidrocarburos en Kansas corresponden a explotaciones sin producción de gas.


Autor: Araujo Valeska | Análisis Estadístico Inferencial - Kansas Hydrocarbon Leases Dataset