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.

ruta_archivo <- "C:/Users/thann/OneDrive/Escritorio/ESTADISTICA.LOL/datos_vale.csv"

datos_vale <- read_delim(
  ruta_archivo,
  delim = ";",
  show_col_types = FALSE
)

cat("Base de datos cargada correctamente.\n")
## Base de datos cargada correctamente.
cat("Total de registros (filas):", nrow(datos_vale), "\n")
## Total de registros (filas): 104173

2 Extraer Variable

Se realiza el aislamiento de la variable cualitativa nominal dicotómica Produce Petróleo (PRODUCES_OIL), clasificada en dos categorías: Sí y No, según los valores registrados en la columna PRODUCES_OIL.

x_raw <- datos_vale %>%
  filter(PRODUCES_OIL %in% c("Yes", "No")) %>%
  mutate(
    produce_petroleo = case_when(
      PRODUCES_OIL == "Yes" ~ "Sí",
      PRODUCES_OIL == "No"  ~ "No"
    )
  ) %>%
  pull(produce_petroleo)

n <- length(x_raw)

cat("Observaciones válidas:", n, "\n")
## Observaciones válidas: 95960
cat("Valores únicos:", length(unique(x_raw)), "\n")
## Valores únicos: 2

3 Ordenamiento Lógico

Se establece el orden de presentación de la variable cualitativa nominal dicotómica Produce Petróleo, priorizando la categoría afirmativa. Dado que es una variable nominal (sin jerarquía natural), el orden se define por convención estadística: primero la categoría modal esperada.

orden_logico <- c("Sí", "No")

x_raw <- factor(x_raw, levels = orden_logico)

cat("Orden de categorías establecido:\n")
## Orden de categorías establecido:
cat(paste(levels(x_raw), collapse = " → "), "\n")
## Sí → No
cat("\nDistribución por categoría:\n")
## 
## Distribución por categoría:
print(table(x_raw))
## x_raw
##    Sí    No 
## 56744 39216

4 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 cualitativa nominal, respetando la estructura de tres columnas estipulada por la cátedra.

# 1. Frecuencias absolutas
frecuencias_base <- data.frame(
  Produce_Petroleo = levels(x_raw),
  Frecuencia_ni    = as.integer(table(x_raw))
) %>%
  arrange(match(Produce_Petroleo, orden_logico))

# 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 GT
resultado %>%
  rename(
    "Produce Petróleo" = Produce_Petroleo,
    "Frecuencia (ni)"  = Frecuencia_ni,
    "Porcentaje (hi%)" = Porcentaje_hi
  ) %>%
  gt() %>%
  tab_header(
    title    = md("**Tabla N°1: Distribución de Frecuencias**"),
    subtitle = md("*Variable Cualitativa Nominal: Produce Petróleo*")
  ) %>%
  cols_label(
    "Produce Petróleo" = md("**Produce Petróleo**"),
    "Frecuencia (ni)"  = md("**Frecuencia (ni)**"),
    "Porcentaje (hi%)" = md("**Porcentaje (hi%)**")
  ) %>%
  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(resultado), by = 2))
  ) %>%
  tab_style(
    style = list(
      cell_fill(color = "#D6D6D6"),
      cell_text(weight = "bold")
    ),
    locations = cells_body(
      rows    = `Produce Petróleo` == "TOTAL",
      columns = everything()
    )
  ) %>%
  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°1: Distribución de Frecuencias
Variable Cualitativa Nominal: Produce Petróleo
Produce Petróleo Frecuencia (ni) Porcentaje (hi%)
56744 59.13
No 39216 40.87
TOTAL 95960 100.00
Autor: Araujo Valeska

5 Representación Gráfica

Se presentan tres gráficas en escala de grises que permiten analizar visualmente la distribución de la variable cualitativa nominal dicotómica Produce Petróleo.

5.1 Gráfica N°1 — Barras de frecuencia absoluta

par(mar = c(8, 6, 5, 2))
barplot(tabla_final$Frecuencia_ni,
        main      = "",
        xlab      = "",
        ylab      = "",
        col       = c("gray30", "gray72"),
        ylim      = c(0, max(tabla_final$Frecuencia_ni) * 1.15),
        names.arg = as.character(tabla_final$Produce_Petroleo),
        cex.names = 0.9,
        las       = 2)

mtext("Frecuencia (ni)",   side = 2, line = 4.5, cex = 1, font = 1)
mtext("Produce Petróleo",  side = 1, line = 6,   cex = 1)
mtext("Gráfica N°1: Distribución de Frecuencias Absolutas de la Variable Produce Petróleo",
      side = 3, line = 2, adj = 0.5, cex = 0.9, font = 2)

5.2 Gráfica N°2 — Barras de porcentaje

par(mar = c(8, 6, 5, 2))
bp2 <- barplot(tabla_final$Porcentaje_hi,
               main      = "",
               xlab      = "",
               ylab      = "Porcentaje %",
               col       = c("gray30", "gray72"),
               ylim      = c(0, max(tabla_final$Porcentaje_hi) * 1.2),
               names.arg = as.character(tabla_final$Produce_Petroleo),
               cex.names = 0.9,
               las       = 2)

mtext("Produce Petróleo", side = 1, line = 6, cex = 1)
mtext("Gráfica N°2: Distribución Porcentual de la Variable Produce Petróleo",
      side = 3, line = 2, adj = 0.5, cex = 0.9, font = 2)

text(x      = bp2,
     y      = tabla_final$Porcentaje_hi,
     labels = paste0(round(tabla_final$Porcentaje_hi, 2), "%"),
     pos    = 3, cex = 0.9, col = "black")

5.3 Gráfica N°3 — Gráfico circular porcentual

par(mar = c(5, 2, 4, 10), xpd = TRUE)

colores_grises <- c("gray30", "gray72")

pie(tabla_final$Porcentaje_hi,
    main   = "",
    radius = 1,
    labels = paste0(round(tabla_final$Porcentaje_hi, 2), "%"),
    col    = colores_grises,
    cex    = 0.9)

mtext("Gráfica N°3: Distribución Porcentual de la Variable Produce Petróleo",
      side = 3, line = 2, adj = 0.5, cex = 0.9, font = 2)

legend(x      = 1.2,
       y      = 1,
       legend = as.character(tabla_final$Produce_Petroleo),
       fill   = colores_grises,
       cex    = 0.85,
       title  = "Produce Petróleo",
       bty    = "n")

6 Indicadores Estadísticos

Para la variable cualitativa nominal dicotómica Produce Petróleo, el único indicador de tendencia central aplicable es la moda. La mediana, media, varianza y demás medidas de dispersión no aplican para este tipo de variable.

# Moda: categoría con mayor frecuencia
moda_petroleo <- as.character(
  tabla_final$Produce_Petroleo[which.max(tabla_final$Frecuencia_ni)]
)

# Tabla de indicadores en formato largo
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 Petróleo",
    "Cualitativa Nominal Dicotómica",
    "Sí — No",
    moda_petroleo,
    "—",
    "—",
    "—",
    "—",
    "—",
    "—",
    "—"
  )
)

# Tabla GT de indicadores
tabla_indicadores %>%
  gt() %>%
  tab_header(
    title    = md("**Tabla N°2: Indicadores Estadísticos**"),
    subtitle = md("*Variable Cualitativa Nominal: Produce Petróleo*")
  ) %>%
  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 Petróleo
Indicador Valor
Variable Produce Petróleo
Tipo de variable Cualitativa Nominal Dicotómica
Categorías (Rango) Sí — No
Moda (Mo)
Mediana (Me)
Media (X̄)
Varianza (V)
Desv. Estándar (Sd)
Coef. Variación (CV%)
Asimetría (As)
Curtosis (K)
Autor: Araujo Valeska

7 Conclusiones

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


Autor: Araujo Valeska