ANÁLISIS ESTADÍSTICO

1. CARGA DE LIBRERÍAS Y DATOS

#==============================ENCABEZADO================================
# TEMA: ESTADÍSTICA DESCRIPTIVA - LONGITUD
# AUTOR: GRUPO 3
# FECHA: 03-2026
#========================================================================
library(dplyr)
library(e1071)
library(gt)

# CARGA Y LIMPIEZA
setwd("C:/Users/HP/Documents/PROYECTO ESTADISTICA/RStudio")
datos <- read.csv("tablap.csv", header = TRUE, dec = ",", sep = ";")

2. TABLA DE DISTRIBUCIÓN DE CANTIDAD POR STURGES

longitud_pozos <- as.numeric(datos$Longitude.of.well.pad)
longitud_pozos <- na.omit(longitud_pozos)
n <- length(longitud_pozos)
k <- floor(1 + 3.322 * log10(n))
minimo <- min(longitud_pozos)
maximo <- max(longitud_pozos)
R <- maximo - minimo
A <- R / k
k #valor de Sturges
## [1] 14
A #Amplitud
## [1] 0.381049
Li_s <- round(seq(from = minimo, to = maximo - A, by = A), 2)
Ls_s <- round(seq(from = minimo + A, to = maximo, by = A), 2)
MC_s <- round((Li_s + Ls_s) / 2, 2)

ni_s <- numeric(length(Li_s))
for (i in 1:length(Li_s)) {
  ni_s[i] <- sum(longitud_pozos >= Li_s[i] & longitud_pozos < Ls_s[i])
}
ni_s[length(Li_s)] <- sum(longitud_pozos >= Li_s[length(Li_s)] & longitud_pozos <= maximo)

TDF_Sturges <- data.frame(Li=Li_s, Ls=Ls_s, MC=MC_s, ni=ni_s, hi=round((ni_s/n)*100, 2))
TDF_Sturges_P <- rbind(TDF_Sturges, data.frame(Li="TOTAL", Ls="", MC="", ni=sum(ni_s), hi=100))

TDF_Sturges_P %>%
  gt() %>%
  tab_header(title = md("Tabla N°1. Tabla de distribucion de cantidad de 
      longitud de los pozos de gas natural en Nuevo México")) %>%
  tab_style(
    style = list(cell_fill(color = "lightgray"), cell_text(weight = "bold")),
    locations = cells_body(rows = Li == "TOTAL")
  ) %>%
  tab_options(table.width = pct(90), heading.title.font.weight = "bold")
Tabla N°1. Tabla de distribucion de cantidad de longitud de los pozos de gas natural en Nuevo México
Li Ls MC ni hi
-108.4 -108.02 -108.21 1487 11.84
-108.02 -107.64 -107.83 3058 24.35
-107.64 -107.26 -107.45 3230 25.71
-107.26 -106.88 -107.07 853 6.79
-106.88 -106.5 -106.69 0 0.00
-106.5 -106.12 -106.31 0 0.00
-106.12 -105.74 -105.93 0 0.00
-105.74 -105.36 -105.55 0 0.00
-105.36 -104.97 -105.16 211 1.68
-104.97 -104.59 -104.78 599 4.77
-104.59 -104.21 -104.4 1197 9.53
-104.21 -103.83 -104.02 822 6.54
-103.83 -103.45 -103.64 352 2.80
-103.45 -103.07 -103.26 751 5.98
TOTAL 12560 100.00

3. TABLA DE DISTRIBUCIÓN DE CANTIDAD SIMPLIFICADA

h_f <- hist(longitud_pozos, plot = FALSE)
lis <- h_f$breaks[1:(length(h_f$breaks)-1)]
lss <- h_f$breaks[2:length(h_f$breaks)]
MC_f  <- h_f$mids
ni_f  <- h_f$counts
hi_f  <- (ni_f / sum(ni_f)) * 100

Niasc <- cumsum(ni_f); Nidsc <- rev(cumsum(rev(ni_f)))
Hiasc <- round(cumsum(hi_f), 2); Hidsc <- round(rev(cumsum(rev(hi_f))), 2)

TDF_Simp <- data.frame(Li=lis, Ls=lss, MC=MC_f, ni=ni_f, hi=round(hi_f, 2), 
                       Niasc, Nidsc, Hiasc, Hidsc)
TDF_Simp_P <- rbind(TDF_Simp, data.frame(Li="TOTAL", Ls=" ", MC=" ", ni=sum(ni_f), hi=100, 
                                         Niasc=" ", Nidsc=" ", Hiasc=" ", Hidsc=" "))

TDF_Simp_P %>%
  gt() %>%
  tab_header(title = md("TABLA°2: Tabla de distribución de cantidad de la longitud en pozos
      de gas natural en Nuevo México")) %>%
  tab_style(
    style = list(cell_fill(color = "lightgray"), cell_text(weight = "bold")),
    locations = cells_body(rows = Li == "TOTAL")
  ) %>%
  tab_options(table.width = pct(95), heading.title.font.weight = "bold")
TABLA°2: Tabla de distribución de cantidad de la longitud en pozos de gas natural en Nuevo México
Li Ls MC ni hi Niasc Nidsc Hiasc Hidsc
-108.5 -108 -108.25 1630 12.98 1630 12561 12.98 100
-108 -107.5 -107.75 4010 31.92 5640 10931 44.9 87.02
-107.5 -107 -107.25 2972 23.66 8612 6921 68.56 55.1
-107 -106.5 -106.75 17 0.14 8629 3949 68.7 31.44
-106.5 -106 -106.25 0 0.00 8629 3932 68.7 31.3
-106 -105.5 -105.75 0 0.00 8629 3932 68.7 31.3
-105.5 -105 -105.25 171 1.36 8800 3932 70.06 31.3
-105 -104.5 -104.75 804 6.40 9604 3761 76.46 29.94
-104.5 -104 -104.25 1690 13.45 11294 2957 89.91 23.54
-104 -103.5 -103.75 453 3.61 11747 1267 93.52 10.09
-103.5 -103 -103.25 814 6.48 12561 814 100 6.48
TOTAL 12561 100.00

4. GRÁFICAS DE DISTRIBUCIÓN

par(mfrow=c(1,1))
par(mar = c(6, 5, 4, 2) + 0.1)
colores <- gray.colors(length(ni_f), start = 0.3, end = 0.9)

hist(longitud_pozos, col = colores, xlab = "Longitud", ylab = "Cantidad",
     main = "Grafica N°1: Distribución de cantidad de la longitud en pozos
      de gas natural en Nuevo México")

hist(longitud_pozos, col = colores, xlab = "Longitud", ylab = "Cantidad",
     ylim = c(0, n), 
     main = "Grafica N°2: Distribución de cantidad de la longitud en pozos
      de gas natural en Nuevo México")

h_porcentaje <- hist(longitud_pozos, plot = FALSE)
h_porcentaje$counts <- (h_porcentaje$counts / sum(h_porcentaje$counts)) * 100

plot(h_porcentaje, col = colores, xlab = "Longitud", ylab = "Porcentaje (%)",
     main = "Grafica N°3: Distribución de cantidad en porcentaje 
        de la longitud en pozos de gas natural en Nuevo México")

plot(h_porcentaje, col = colores, xlab = "Longitud", ylab = "Porcentaje (%)",
     ylim = c(0, 100),
     main = "Grafica N°4: Distribución de cantidad en porcentaje 
        de la longitud en pozos de gas natural en Nuevo México")

plot(lss, Nidsc, type="o", col="blue", pch=19, xlab="Longitud", ylab="Cant. Acumulada",
     main="Grafica N°5: Ojivas combinadas de cantidad acumulada")
lines(lis, Niasc, type="o", col="black", pch=18)
legend("right", legend=c("Descendente", "Ascendente"), col=c("blue", "black"), pch=c(19, 18), bty="n")

plot(lss, Hidsc, type="o", col="blue", pch=19, ylim=c(0, 100),
     xlab="Longitud", ylab="Porcentaje Acumulado",
     main="Grafica N°6: Ojivas combinadas en porcentaje acumulado")
lines(lis, Hiasc, type="o", col="black", pch=18)
legend("right", legend=c("Descendente", "Ascendente"), col=c("blue", "black"), pch=c(19, 18), bty="n")

boxplot(longitud_pozos, horizontal = TRUE, col = "skyblue", xlab = "Longitud",
        main = "Grafica N°7: Distribución de cantidad de la longitud")

5. INDICADORES ESTADÍSTICOS Y OUTLIERS

TablaInd <- data.frame(Variable="Longitud", min=min(longitud_pozos), max=max(longitud_pozos),
                       x=round(mean(longitud_pozos),2), Me=median(longitud_pozos), 
                       sd=round(sd(longitud_pozos),2), Cv=round(abs((sd(longitud_pozos)/mean(longitud_pozos))*100),2),
                       As=round(skewness(longitud_pozos),2), K=round(kurtosis(longitud_pozos),2))

TablaInd %>% 
  gt() %>% 
  tab_header(title = md("Tabla N.3: Indicadores estadisticos de la variable 
longitud en pozos de gas natural en Nuevo México"))
Tabla N.3: Indicadores estadisticos de la variable longitud en pozos de gas natural en Nuevo México
Variable min max x Me sd Cv As K
Longitud -108.4039 -103.0692 -106.57 -107.434 1.7 1.59 0.84 -1.03
valores_atipicos <- boxplot.stats(longitud_pozos)$out 
n_atipicos <- length(valores_atipicos) 
min_atipico <- if(n_atipicos > 0) min(valores_atipicos) else 0
max_atipico <- if(n_atipicos > 0) max(valores_atipicos) else 0

TablaOutliers <- data.frame(Cantidad = n_atipicos, Mínimo = min_atipico, Máximo = max_atipico)

TablaOutliers %>% 
  gt() %>% 
  tab_header(title = md("TABLA N°4: Valores atípicos de la variable Longitud"))
TABLA N°4: Valores atípicos de la variable Longitud
Cantidad Mínimo Máximo
0 0 0

6. CONCLUSIÓN

cat(paste0(
  "La variable longitud de los pozos presenta valores que fluctúan entre ", round(min(longitud_pozos),4), 
  " y ", round(max(longitud_pozos),4), ", con una media de ", round(mean(longitud_pozos),2), 
  " y una mediana de ", round(median(longitud_pozos),2), ". La desviación estándar de ", round(sd(longitud_pozos),2), 
  " e indica una baja dispersión de los datos, lo que muestra que las longitudes se encuentran ",
  "relativamente concentradas alrededor del promedio. Además, el coeficiente de asimetría de ", 
  round(skewness(longitud_pozos),2), " evidencia una ligera asimetría positiva, mientras que la curtosis de ", 
  round(kurtosis(longitud_pozos),2), " indica una distribución platicúrtica. En conjunto, estos resultados ",
  "reflejan que la longitud de los pozos presenta una distribución relativamente homogénea, ",
  "con una variabilidad espacial moderada dentro del área de estudio."
))
## La variable longitud de los pozos presenta valores que fluctúan entre -108.4039 y -103.0692, con una media de -106.57 y una mediana de -107.43. La desviación estándar de 1.7 e indica una baja dispersión de los datos, lo que muestra que las longitudes se encuentran relativamente concentradas alrededor del promedio. Además, el coeficiente de asimetría de 0.84 evidencia una ligera asimetría positiva, mientras que la curtosis de -1.03 indica una distribución platicúrtica. En conjunto, estos resultados reflejan que la longitud de los pozos presenta una distribución relativamente homogénea, con una variabilidad espacial moderada dentro del área de estudio.