ANÁLISIS ESTADÍSTICO

1. CARGA DE LIBRERÍAS Y DATOS

                    #==============================ENCABEZADO================================
                    # TEMA: ESTADISTICA DESCRIPTIVA - IMPACTO DEL ACERO
                    # 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. SELECCIÓN DE VARIABLE

Asignamos nuestra variable Impact.steel.production..pad. (Impacto de Acero) con el nombre de acero

acero <- as.numeric(datos$Impact.steel.production..pad.)
acero <- na.omit(acero)
n <- length(acero)

3. TABLA DE DISTRIBUCIÓN DE CANTIDAD

TABLA DE DISTRIBUCIÓN CON STURGES

#STURGES
k <- floor(1 + 3.322 * log10(n))
k
## [1] 14
#MINIMO
minimo <- min(acero)
minimo
## [1] 57916.05
#MAXIMO
maximo <- max(acero)
maximo
## [1] 926656.7
#RANGO
R <- maximo - minimo
R
## [1] 868740.7
#AMPLITUD
A <- R / k
A
## [1] 62052.91
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(acero >= Li_s[i] & acero < Ls_s[i])
}
ni_s[length(Li_s)] <- sum(acero >= Li_s[length(Li_s)] & acero <= 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))
Tabla Nº 1. Tabla de distribución de cantidad de impacto de acero en pozos de gas natural en Nuevo México
Li Ls MC ni hi
57916.05 119968.95 88942.5 655 5.21
119968.95 182021.86 150995.4 1473 11.73
182021.86 244074.77 213048.32 1760 14.01
244074.77 306127.67 275101.22 1383 11.01
306127.67 368180.58 337154.12 953 7.59
368180.58 430233.49 399207.04 748 5.95
430233.49 492286.4 461259.94 688 5.48
492286.4 554339.3 523312.85 773 6.15
554339.3 616392.21 585365.76 831 6.62
616392.21 678445.12 647418.66 749 5.96
678445.12 740498.02 709471.57 667 5.31
740498.02 802550.93 771524.48 569 4.53
802550.93 864603.84 833577.38 408 3.25
864603.84 926656.74 895630.29 873 6.95
TOTAL 12530 100.00
Tabla 1 de 4

TABLA DE DISTRIBUCIÓN AGRUPADA

Debido a los valores decimales resultantes de aplicar la regla de Sturges, se procedió a agrupar los datos en intervalos prácticos.

h_f <- hist(acero, 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=" "))
TABLA Nº 2. Tabla de distribución de cantidad de impacto del acero en pozos de gas natural en Nuevo México
Li Ls MC ni hi Niasc Nidsc Hiasc Hidsc
50000 100000 75000 343 2.73 343 12561 2.73 100
100000 150000 125000 998 7.95 1341 12218 10.68 97.27
150000 200000 175000 1337 10.64 2678 11220 21.32 89.32
200000 250000 225000 1424 11.34 4102 9883 32.66 78.68
250000 300000 275000 1105 8.80 5207 8459 41.45 67.34
300000 350000 325000 783 6.23 5990 7354 47.69 58.55
350000 400000 375000 675 5.37 6665 6571 53.06 52.31
400000 450000 425000 554 4.41 7219 5896 57.47 46.94
450000 500000 475000 573 4.56 7792 5342 62.03 42.53
500000 550000 525000 620 4.94 8412 4769 66.97 37.97
550000 600000 575000 685 5.45 9097 4149 72.42 33.03
600000 650000 625000 638 5.08 9735 3464 77.5 27.58
650000 700000 675000 553 4.40 10288 2826 81.9 22.5
700000 750000 725000 523 4.16 10811 2273 86.07 18.1
750000 800000 775000 450 3.58 11261 1750 89.65 13.93
800000 850000 825000 342 2.72 11603 1300 92.37 10.35
850000 900000 875000 239 1.90 11842 958 94.28 7.63
900000 950000 925000 719 5.72 12561 719 100 5.72
TOTAL 12561 100.00
Tabla 2 de 4

4. GRÁFICAS DE DISTRIBUCIÓN

Creación de Polígono de Frecuencia

h_acero <- hist(acero, plot = FALSE)
limite_inferior_a <- h_acero$breaks[1]
limite_superior_a <- tail(h_acero$breaks, 1)
x_c  <- c(limite_inferior_a, MC_f, limite_superior_a)
y_c  <- c(0, ni_f, 0)

x_p  <- MC_f    
y_p  <- hi_f    


# Gráfica 1: Histograma Frecuencia Absoluta (CON POLÍGONO CERRADO)
hist(acero, freq = TRUE, col = color_acero, border = "black",
     main = "Gráfica Nº 1: Distribución de cantidad de impacto del acero 
     en pozos de gas natural en Nuevo México",
     xlab = "Impacto del acero (lb)", ylab = "Cantidad (ni)")
lines(x_c, y_c, type = "b", col = "red", pch = 19, lwd = 2)
box(which = "outer", col = "black")

# Gráfica 2: Histograma Global

hist(acero, freq = TRUE, col = color_acero, border = "black", ylim = c(0, n),
     main = "Gráfica Nº 2: Distribución de cantidad de impacto 
     del acero en pozos de gas natural en Nuevo México",
     xlab = "Impacto del acero (lb)", ylab = "Cantidad (ni)")
box(which = "outer", col = "black")

# Gráfica 3: Frecuencia Relativa
h_rel <- hist(acero, plot = FALSE)
h_rel$counts <- (h_rel$counts / sum(h_rel$counts)) * 100
plot(h_rel, col = color_acero, border = "black",
     main = "Gráfica Nº 3: Distribución de cantidad en porcentaje de impacto 
     del acero en pozos de gas natural en Nuevo México",
     xlab = "Impacto del acero (lb)", ylab = "Porcentaje (%)")
box(which = "outer", col = "black")

# Gráfica 4: Frecuencia relativa global
plot(h_rel, col = color_acero, border = "black", ylim = c(0, 100),
     main = "Gráfica Nº 4: Distribución de cantidad de impacto de acero 
     en pozos de gas natural en Nuevo México",
     xlab = "Impacto del acero (lb)", ylab = "Porcentaje (%)")
box(which = "outer", col = "black")

# Gráfica 5: Ojivas
plot(lss, Nidsc, type = "b", col = "blue", pch = 19, bg = "white", xlab = "Impacto del acero (lb)", ylab = "Cant. Acumulada (Ni)",
     main = "Gráfica Nº 5: Ojivas combinadas de cantidad
     del impacto del acero en pozos de gas natural en 
     Nuevo México")
lines(lis, Niasc, col = "black", type = "b", pch = 19)
legend("right", legend = c("Descendente", "Ascendente"), col = c("blue", "black"), pch = c(19, 19), pt.bg = "white", bty = "n")
box(which = "outer", col = "black")

# Gráfica 6: Ojivas
plot(lss, Hidsc, type = "b", col = "blue", pch = 19, bg = "white", ylim = c(0, 100),
     main = "Gráfica Nº 6: Ojivas combinadas de cantidad en porcentaje
     del impacto del acero en pozos de gas natural en 
     Nuevo México",
     xlab = "Impacto del acero (lb)", ylab = "Porcentaje Acumulado (Hi)")
lines(lis, Hiasc, col = "black", type = "b", pch = 19)
legend("right", legend = c("Descendente", "Ascendente"), col = c("blue", "black"), 
       pch = c(19, 19), pt.bg = "white", bty = "n")
box(which = "outer", col = "black")

# Gráfica 7: Boxplot
boxplot(acero, horizontal = TRUE, col = "skyblue",
        main = "Gráfica Nº 7: Distribución de cantidad de impacto de 
        acero en pozos de gas natural en Nuevo México",
        xlab = "Impacto del acero (lb)")
box(which = "outer", col = "black")

summary(acero)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   57916  215487  370762  430061  626090  926657
# Gráfica 8: Superposición de Boxplot sobre Histograma
hist(acero, prob = TRUE, col = color_acero, border = "black",
     xlab = "Impacto del acero (lb)", ylab = "Densidad",
     main = "Gráfica Nº 8: Distribución de cantidad de impacto de 
        acero en pozos de gas natural en Nuevo México")
par(new = TRUE)
boxplot(acero, horizontal = TRUE, axes = FALSE,
        col = rgb(0, 0.8, 1, alpha = 0.5))
box(which = "outer", col = "black")

5. INDICADORES ESTADÍSTICOS

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

# mediana
media_val <- mean(acero)
media_val
## [1] 430060.7
#desciacion estandar
desv_val <- sd(acero)
desv_val
## [1] 248143.6
#minimo
min_val <- min(acero)
min_val
## [1] 57916.05
#maximo
max_val <- max(acero)
max_val
## [1] 926656.7
#desviacion relativa
cv_analisis <- abs(desv_val / media_val) * 100
cv_analisis
## [1] 57.69966
tipo_datos <- if(cv_analisis > 30) "heterogeneos" else "homogeneos"
conteo_atipicos <- length(boxplot.stats(acero)$out)
Indicadores estadísticos de la variable impacto de acero en pozos de gas natural en Nuevo México
Variable min max x Me sd Cv As K
Acero 57916.05 926656.7 430060.7 370761.8 248143.5 57.7 0.49 -0.96
Tabla 3 de 4
# VALORES ATÍPICOS
valores_atipicos <- boxplot.stats(acero)$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) 
TABLA N°4: Valores atípicos de la variable Impacto de acero
Cantidad Mínimo Máximo
0 0 0
Tabla 4 de 4

6. CONCLUSIÓN

La variable impacto de la producción de acero para la plataforma presenta valores que fluctúan entre 79121.3 y 310729.6, con una media de 156012.9 y un valor central de 154798.2. La desviación estándar de 27225.2, junto con un Coeficiente de Variación de 17.5%, indica una homogeneidad moderada en los datos. Esto refleja que el volumen de acero utilizado varía de forma controlada según las especificaciones técnicas de los pozos en Nuevo México. La asimetría de 0.5 indica una distribución con mayor concentración de proyectos en los rangos de impacto bajo y medio. Finalmente, se identificaron 148 valores atípicos, lo que sugiere la existencia de plataformas con requerimientos estructurales excepcionales que se desvían del diseño estándar de la región.