1. Configuración y Carga de Datos

datos_originales <- readr::read_csv2(
  "C:/Users/cordo/OneDrive/Desktop/ESTADISITCA/Oil__Gas____Other_Regulated_Wells__Beginning_1860.csv",
  locale = readr::locale(encoding = "Latin1")
)

2. Extracción y Limpieza de la Variable

datos_limpios <- datos_originales %>%
  select(Completion) %>%
  filter(!is.na(Completion) & Completion != "" & Completion != " ") %>%
  mutate(Completion = str_to_title(trimws(Completion))) 

3. Identificación de la Variable

  • Nombre de la Variable: COMPLETION (Tipo de terminación del pozo)
  • Tipo de Variable: Cualitativa Nominal.

4. Tabla de Distribución de Frecuencias (TDF)

tdf_comp <- datos_limpios %>%
  group_by(Completion) %>%
  summarise(Fi = n(), .groups = 'drop') %>%
  arrange(desc(Fi)) %>%
  mutate(
    hi = Fi / sum(Fi),
    Pi = hi * 100
  )

total_observaciones <- sum(tdf_comp$Fi)
top_data <- tdf_comp %>% slice_max(order_by = Fi, n = 10)
otros_data <- tdf_comp %>% slice(11:n()) %>% 
  summarise(Completion = "Otros", Fi = sum(Fi), hi = sum(hi), Pi = sum(Pi))

tdf_presentacion <- bind_rows(top_data, otros_data) %>%
  mutate(Fi_ac = cumsum(Fi), hi_ac = cumsum(hi))

tdf_presentacion %>%
  rename(`Tipo de Terminación` = Completion, `Frec. Absoluta (Fi)` = Fi, `Frec. Relativa (hi)` = hi, `Porcentaje (%)` = Pi, `Frec. Abs. Acumulada (Fi_ac)` = Fi_ac, `Frec. Rel. Acumulada (hi_ac)` = hi_ac) %>%
  kbl(
    caption = "<div style='color:#1D4E73; font-family:\"Lora\", serif; font-weight:bold; font-size:16px; text-align:center;'>TABLA 1. Distribución de Frecuencias por Tipo de Terminación</div>",
    digits = 4, align = "lccccc"
  ) %>%
  kable_styling(bootstrap_options = c("hover", "striped"), full_width = TRUE) %>%
  row_spec(0, background = "#1D4E73", color = "white", bold = TRUE) %>%
  footnote(general = paste("Total de registros:", comma(total_observaciones)))
TABLA 1. Distribución de Frecuencias por Tipo de Terminación
Tipo de Terminación Frec. Absoluta (Fi) Frec. Relativa (hi) Porcentaje (%) Frec. Abs. Acumulada (Fi_ac) Frec. Rel. Acumulada (hi_ac)
0 46697 0.9850 98.5023 46697 0.9850
1 635 0.0134 1.3395 47332 0.9984
2 70 0.0015 0.1477 47402 0.9999
3 3 0.0001 0.0063 47405 1.0000
4 1 0.0000 0.0021 47406 1.0000
9 1 0.0000 0.0021 47407 1.0000
Otros 1 0.0000 0.0021 47408 1.0000
Note:
Total de registros: 47,407

5. Representación Gráfica

paleta_azul <- c("#1D4E73", "#2870A4", "#3392D5", "#56A9E2", "#7ABDEF", "#A3D2F7", "#CBE4FA", "#DCEEFC", "#EAF4FD", "#F2F7FB", "#BDC5C8")
fuente_unificada <- "Lora"
datos_ordenados <- tdf_presentacion %>% mutate(Completion = factor(Completion, levels = c(setdiff(Completion, "Otros"), "Otros")))

5.1 Gráfica N°1 — Barras (Absoluta)

ggplot(datos_ordenados, aes(x = Completion, y = Fi, fill = Completion)) +
  geom_bar(stat = "identity", color = "#1D4E73", show.legend = FALSE) +
  geom_text(aes(label = comma(Fi)), vjust = -0.5, fontface = "bold", family = fuente_unificada, color = "#1D4E73") +
  scale_fill_manual(values = paleta_azul) + theme_minimal() + labs(title = "Gráfica N°1: Frecuencia Absoluta por Tipo de Terminación", x = "Tipo", y = "Fi")

5.2 Gráfica N°2 — Barras (Porcentaje)

ggplot(datos_ordenados, aes(x = Completion, y = Pi, fill = Completion)) +
  geom_bar(stat = "identity", color = "#1D4E73", show.legend = FALSE) +
  geom_text(aes(label = paste0(round(Pi,1), "%")), vjust = -0.5, fontface = "bold", family = fuente_unificada, color = "#1D4E73") +
  scale_fill_manual(values = paleta_azul) + theme_minimal() + labs(title = "Gráfica N°2: Distribución Porcentual", x = "Tipo", y = "%")

5.3 Gráfica N°3 — Circular

ggplot(datos_ordenados, aes(x = "", y = Pi, fill = Completion)) +
  geom_bar(stat = "identity", width = 1) + coord_polar("y") +
  scale_fill_manual(values = paleta_azul) + theme_void() + labs(title = "Gráfica N°3: Distribución Porcentual Estructurada")

6. Tabla de Indicadores

indicadores <- data.frame(Indicador = c("Total", "Moda", "Porcentaje Moda"), Valor = c(comma(total_observaciones), tdf_comp$Completion[1], paste0(round(tdf_comp$Pi[1], 2), "%")))
indicadores %>% kbl(caption = "TABLA 2. Indicadores Estadísticos") %>% kable_styling()
TABLA 2. Indicadores Estadísticos
Indicador Valor
Total 47,407
Moda 0
Porcentaje Moda 98.5%

7. Conclusión

Los datos indican que el método predominante de terminación es 0, representando la mayor parte de las operaciones registradas históricamente.