#==============================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 = ";")
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)
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 | ||||||||
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")
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 | ||
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.