1 LECTURA DE DATOS

# 1. LIBRERIAS Y CARGA DE DATOS
library(readxl)
library(dplyr)
library(gt)
library(e1071)
library(lubridate)

setwd("C:/Users/HP/Desktop/VARIABLESDALLY")
Datos <- read.csv("Oil__Gas____Other_Regulated_Wells__Beginning_1860 (4).csv",
                  header = TRUE, sep = ";", dec = ",")

2 TABLA DE DISTRIBUCION DE FRECUENCIA

La variable Quad Section indica la subdivision del cuadrangulo topografico (USGS) donde se ubica el pozo. Toma 9 valores (A a la I, una cuadricula 3x3), por lo que es una variable cualitativa nominal que se analiza directamente, sin necesidad de agrupar.

# Filtramos datos vacíos
Datos_filtrados <- Datos[Datos$Quad.Section %in% LETTERS[1:9], ]

# Convertimos a factor ordenado
Secciones <- factor(Datos_filtrados$Quad.Section, levels = LETTERS[1:9], ordered = TRUE)
TDFSecciones <- as.data.frame(table(Secciones))

TDFSecciones
##   Secciones Freq
## 1         A 3201
## 2         B 4831
## 3         C 3264
## 4         D 5772
## 5         E 6156
## 6         F 4933
## 7         G 6724
## 8         H 5541
## 9         I 6093

3 CALCULO DE FRECUENCIAS POR SECCION

Frecuencia absoluta (ni) y relativa porcentual (hi) de pozos por seccion, ordenadas de mayor a menor.

TDFSecciones$Freq <- as.numeric(as.character(TDFSecciones$Freq))

TDFSeccionesfinal1 <- TDFSecciones %>%
  rename(Seccion = Secciones) %>%
  mutate(
    ni = Freq,
    hi = round((Freq / sum(Freq)) * 100, 5)
  ) %>%
  select(Seccion, ni, hi) %>%
  as.data.frame()

TDFSeccionesfinal1
##   Seccion   ni       hi
## 1       A 3201  6.88165
## 2       B 4831 10.38590
## 3       C 3264  7.01709
## 4       D 5772 12.40890
## 5       E 6156 13.23444
## 6       F 4933 10.60518
## 7       G 6724 14.45555
## 8       H 5541 11.91229
## 9       I 6093 13.09900

4 CONSTRUCCION DEL CUADRO CON TOTALES

total_ni <- sum(TDFSeccionesfinal1$ni)
total_hi <- sum(TDFSeccionesfinal1$hi)
TDFSeccionescompleta <- rbind(TDFSeccionesfinal1,
                              data.frame(Seccion = "Total",
                                         ni = total_ni,
                                         hi = total_hi))
print(TDFSeccionescompleta)
##    Seccion    ni        hi
## 1        A  3201   6.88165
## 2        B  4831  10.38590
## 3        C  3264   7.01709
## 4        D  5772  12.40890
## 5        E  6156  13.23444
## 6        F  4933  10.60518
## 7        G  6724  14.45555
## 8        H  5541  11.91229
## 9        I  6093  13.09900
## 10   Total 46515 100.00000

5 PRESENTACION TABULAR

gt(TDFSeccionescompleta) %>%
  tab_header(
    title = md("**DISTRIBUCIÓN DE FRECUENCIAS DE POZOS POR SECCIÓN - NUEVA YORK**"),
    subtitle = "Distribución de pozos de petróleo y gas según la sección del cuadrante (Ordenada)") %>%
  fmt_number(
    columns = hi,
    decimals = 2) %>%
  cols_align(align = "center", columns = everything()) %>%
  tab_style(
    style = list(cell_fill(color = "#2E4053"), cell_text(color = "white", weight = "bold")),
    locations = cells_title()
  ) %>%
  tab_style(
    style = list(cell_fill(color = "#F2F3F4"), cell_text(weight = "bold", color = "#2E4053")),
    locations = cells_column_labels()
  ) %>%
  tab_options(
    table.border.top.color = "#2E4053",
    table.border.bottom.color = "#2E4053",
    column_labels.border.bottom.color = "#2E4053",
    data_row.padding = px(6))
DISTRIBUCIÓN DE FRECUENCIAS DE POZOS POR SECCIÓN - NUEVA YORK
Distribución de pozos de petróleo y gas según la sección del cuadrante (Ordenada)
Seccion ni hi
A 3201 6.88
B 4831 10.39
C 3264 7.02
D 5772 12.41
E 6156 13.23
F 4933 10.61
G 6724 14.46
H 5541 11.91
I 6093 13.10
Total 46515 100.00

6 GRAFICAS

6.1 Histograma de frecuencia absoluta local

datos <- TDFSeccionescompleta[TDFSeccionescompleta$Seccion != "Total", ]

par(mar = c(7, 5, 4, 2) + 0.1)
bp <- barplot(datos$ni,
        main = "Gráfica N1: Distribución de pozos según su sección en Nueva York",
        ylab = "Cantidad de pozos", col = "#2E4053",
        names.arg = datos$Seccion,
        las = 1, cex.names = 0.9, cex.axis = 0.8, cex.main = 0.95,
        ylim = c(0, max(datos$ni) * 1.15))
text(x = bp, y = datos$ni,
     labels = format(datos$ni, big.mark = ","),
     pos = 3, cex = 0.7, xpd = TRUE)
mtext("Sección del cuadrante (A - I)", side = 1, line = 3, cex = 0.95)

6.2 Histograma de frecuencia absoluta global

par(mar = c(7, 5, 4, 2) + 0.1)
bp <- barplot(datos$ni,
        main = "Gráfica N2: Cantidad de pozos según su sección en Nueva York",
        ylab = "Cantidad de pozos", col = "#2E4053",
        names.arg = datos$Seccion,
        las = 1, cex.names = 0.9, cex.axis = 0.8, cex.main = 0.95,
        ylim = c(0, 8000))
text(x = bp, y = datos$ni,
     labels = format(datos$ni, big.mark = ","),
     pos = 3, cex = 0.7, xpd = TRUE)
mtext("Sección del cuadrante (A - I)", side = 1, line = 3, cex = 0.95)

6.3 Histograma de frecuencia relativa local

par(mar = c(7, 5, 4, 2) + 0.1)
bp <- barplot(datos$hi,
        main = "Gráfica N3: Distribución en porcentaje según su sección en Nueva York",
        ylab = "Porcentaje (%)", col = "#2E4053",
        names.arg = datos$Seccion,
        las = 1, cex.names = 0.9, cex.axis = 0.8, cex.main = 0.95,
        ylim = c(0, max(datos$hi) * 1.15))
text(x = bp, y = datos$hi,
     labels = paste0(round(datos$hi, 2), "%"),
     pos = 3, cex = 0.7, xpd = TRUE)
mtext("Sección del cuadrante (A - I)", side = 1, line = 3, cex = 0.95)

6.4 Histograma de frecuencia relativa global

par(mar = c(7, 5, 4, 2) + 0.1)
bp <- barplot(datos$hi,
        main = "Gráfica N4: Distribución en porcentaje según su sección en Nueva York",
        ylab = "Porcentaje (%)", col = "#2E4053",
        names.arg = datos$Seccion,
        las = 1, cex.names = 0.9, cex.axis = 0.8, cex.main = 0.95,
        ylim = c(0, 100))
text(x = bp, y = datos$hi,
     labels = paste0(round(datos$hi, 2), "%"),
     pos = 3, cex = 0.7, xpd = TRUE)
mtext("Sección del cuadrante (A - I)", side = 1, line = 3, cex = 0.95)

6.5 Diagrama circular

par(mar = c(2, 2, 4, 9), xpd = TRUE)
colores <- c("#1B4F72", "#21618C", "#2874A6", "#2E86C1", "#3498DB",
             "#5DADE2", "#85C1E9", "#AED6F1", "#D6EAF8")
colores <- colores[1:nrow(datos)]

pct <- round(datos$hi, 2)
pie(datos$ni, labels = "",
    col = colores, border = "white", radius = 0.95,
    init.angle = 90, clockwise = TRUE, cex.main = 0.9,
    main = "Gráfica N5: Distribución porcentual por sección")

frac <- datos$ni / sum(datos$ni)
theta <- (90 - 360 * (cumsum(frac) - frac / 2)) * pi / 180
text(0.62 * cos(theta), 0.62 * sin(theta),
     labels = paste0(pct, "%"),
     col = "white", cex = 0.8, font = 2)

legend(x = 1.05, y = 0.9,
       legend = paste0("Sección ", datos$Seccion, "  (", pct, "%)"),
       fill = colores, cex = 0.8, bty = "n", title = "Sección")

7 RESUMEN ESTADISTICO

Por tratarse de una variable cualitativa nominal, la unica medida de tendencia central aplicable es la moda (la seccion mas frecuente).

# Cálculo de la moda
moda_seccion <- as.character(datos$Seccion[which.max(datos$ni)])

# Cálculo de la mediana (posición del 50% de los datos)
n_total <- sum(datos$ni)
datos$FrecAcumulada <- cumsum(datos$ni)
mediana_idx <- which(datos$FrecAcumulada >= n_total / 2)[1]
mediana_seccion <- as.character(datos$Seccion[mediana_idx])

Conclusiones <- data.frame(
  Variable = "Sección del cuadrante",
  `Rango [Mín; Máx]` = "N/A",
  `Media (X)` = "N/A",
  `Mediana (Me)` = mediana_seccion,
  `Moda (Mo)` = moda_seccion,
  `Varianza (S2)` = "N/A",
  `Desv. Est. (S)` = "N/A",
  `C.V. (%)` = "N/A",
  `Asimetría (As)` = "N/A",
  `Curtosis (K)` = "N/A",
  `Valores Atípicos` = "N/A",
  check.names = FALSE
)

gt(Conclusiones) %>%
  tab_header(
    title = md("**CONCLUSIONES Y ESTADÍSTICOS**"),
    subtitle = "Resumen de indicadores de ubicación de los pozos por sección en Nueva York") %>%
  tab_source_note(source_note = "Autor: Dallyana") %>%
  cols_align(align = "center", columns = everything()) %>%
  tab_style(
    style = list(cell_fill(color = "#2E4053"), cell_text(color = "white", weight = "bold")),
    locations = cells_title()
  ) %>%
  tab_style(
    style = list(cell_fill(color = "#F2F3F4"), cell_text(weight = "bold", color = "#2E4053")),
    locations = cells_column_labels()
  ) %>%
  tab_options(
    table.border.top.color = "#2E4053",
    table.border.bottom.color = "#2E4053",
    column_labels.border.bottom.color = "#2E4053",
    data_row.padding = px(6))
CONCLUSIONES Y ESTADÍSTICOS
Resumen de indicadores de ubicación de los pozos por sección en Nueva York
Variable Rango [Mín; Máx] Media (X) Mediana (Me) Moda (Mo) Varianza (S2) Desv. Est. (S) C.V. (%) Asimetría (As) Curtosis (K) Valores Atípicos
Sección del cuadrante N/A N/A F G N/A N/A N/A N/A N/A N/A
Autor: Dallyana

7.1 Conclusiones

La moda corresponde a la seccion G, que concentra la mayor cantidad de pozos (14.46%). No obstante, la distribucion entre las 9 secciones (A a la I) es bastante uniforme (entre 6.9% y 14.5%), lo cual es esperable: las secciones representan una simple subdivision espacial 3x3 del cuadrangulo topografico, sin un factor geologico que favorezca una posicion especifica dentro de la cuadricula.