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. TABLA DE DISTRIBUCION CON STURGES
acero <- as.numeric(datos$Impact.steel.production..pad.)
acero <- na.omit(acero)
acero <- acero[acero >= 0]
n <- length(acero)
#STURGES
k <- floor(1 + 3.322 * log10(n))
k
## [1] 14
#MINIMO
minimo <- min(acero)
minimo
## [1] 79121.28
#MAXIMO
maximo <- max(acero)
maximo
## [1] 310729.6
#RANGO
R <- maximo - minimo
R
## [1] 231608.3
#AMPLITUD
A <- R / k
A
## [1] 16543.45
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))
TDF_Sturges_P %>%
gt() %>%
tab_header(title = md("**Tabla Nº1. Tabla de distribucion de cantidad
de impacto de acero en pozos de gas natural en
Nuevo Mexico**")) %>%
tab_style(
style = list(cell_fill(color = "lightgray"), cell_text(weight = "bold")),
locations = list(
cells_body(rows = Li == "TOTAL"),
cells_title(groups = "title")
)
) %>%
tab_options(
column_labels.font.weight = "bold"
)%>%
tab_source_note(
source_note = md("**Tabla 1 de 4**"))
| Tabla Nº1. Tabla de distribucion de cantidad
de impacto de acero en pozos de gas natural en
Nuevo Mexico |
| Li |
Ls |
MC |
ni |
hi |
| 79121.28 |
95664.74 |
87393.01 |
26 |
0.21 |
| 95664.74 |
112208.19 |
103936.46 |
437 |
3.48 |
| 112208.19 |
128751.64 |
120479.92 |
1574 |
12.53 |
| 128751.64 |
145295.09 |
137023.36 |
2542 |
20.24 |
| 145295.09 |
161838.55 |
153566.82 |
3018 |
24.03 |
| 161838.55 |
178382 |
170110.28 |
2580 |
20.54 |
| 178382 |
194925.45 |
186653.72 |
1387 |
11.04 |
| 194925.45 |
211468.9 |
203197.17 |
613 |
4.88 |
| 211468.9 |
228012.36 |
219740.63 |
237 |
1.89 |
| 228012.36 |
244555.81 |
236284.08 |
103 |
0.82 |
| 244555.81 |
261099.26 |
252827.54 |
28 |
0.22 |
| 261099.26 |
277642.71 |
269370.98 |
10 |
0.08 |
| 277642.71 |
294186.17 |
285914.44 |
3 |
0.02 |
| 294186.17 |
310729.62 |
302457.9 |
3 |
0.02 |
| TOTAL |
|
|
12561 |
100.00 |
| Tabla 1 de 4 |
# GRAFICA N°1: DISTRIBUCIÓN DEL IMPACTO DE ACERO (STURGES)
cortes_histograma_ace <- c(Li_s, maximo)
par(mar = c(7.5, 4.1, 4.1, 2.1))
hist(acero,
breaks = cortes_histograma_ace,
freq = TRUE,
right = FALSE,
col = "darkgrey",
xaxt = "n",
xlab = "",
ylab = "Cantidad",
main = "Grafica N°1: Distribución de cantidad de impacto de acero en
pozos de gas natural en Nuevo México")
## Warning in plot.histogram(r, freq = freq1, col = col, border = border, angle =
## angle, : the AREAS in the plot are wrong -- rather use 'freq = FALSE'
axis(1, at = cortes_histograma_ace, labels = round(cortes_histograma_ace, 2), las = 2)
title(xlab = "Impacto de producción de acero", line = 5.5)
box(which = "outer", col = "black")

3. TABLA DE DISTRIBUCION AGRUPADA
Debido a que la tabla y la grafica presentan
valores con decimales complejos vamos a agruparla
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=" "))
TDF_Simp_P %>%
gt() %>%
tab_header(title = md("**TABLA Nº2: Tabla de distribucion de cantidad
de impacto del acero en pozos de gas natural en
Nuevo Mexico**")) %>%
tab_style(
style = list(cell_fill(color = "lightgray"), cell_text(weight = "bold")),
locations = list(
cells_body(rows = Li == "TOTAL"),
cells_title(groups = "title")
)
) %>%
tab_options(
column_labels.font.weight = "bold" # Subtítulos de columnas en negrita
)%>%
tab_source_note(
source_note = md("**Tabla 2 de 4**"))
| TABLA Nº2: Tabla de distribucion de cantidad
de impacto del acero en pozos de gas natural en
Nuevo Mexico |
| Li |
Ls |
MC |
ni |
hi |
Niasc |
Nidsc |
Hiasc |
Hidsc |
| 60000 |
80000 |
70000 |
1 |
0.01 |
1 |
12561 |
0.01 |
100 |
| 80000 |
100000 |
90000 |
68 |
0.54 |
69 |
12560 |
0.55 |
99.99 |
| 100000 |
120000 |
110000 |
997 |
7.94 |
1066 |
12492 |
8.49 |
99.45 |
| 120000 |
140000 |
130000 |
2636 |
20.99 |
3702 |
11495 |
29.47 |
91.51 |
| 140000 |
160000 |
150000 |
3572 |
28.44 |
7274 |
8859 |
57.91 |
70.53 |
| 160000 |
180000 |
170000 |
3089 |
24.59 |
10363 |
5287 |
82.5 |
42.09 |
| 180000 |
200000 |
190000 |
1442 |
11.48 |
11805 |
2198 |
93.98 |
17.5 |
| 200000 |
220000 |
210000 |
511 |
4.07 |
12316 |
756 |
98.05 |
6.02 |
| 220000 |
240000 |
230000 |
184 |
1.46 |
12500 |
245 |
99.51 |
1.95 |
| 240000 |
260000 |
250000 |
45 |
0.36 |
12545 |
61 |
99.87 |
0.49 |
| 260000 |
280000 |
270000 |
11 |
0.09 |
12556 |
16 |
99.96 |
0.13 |
| 280000 |
300000 |
290000 |
3 |
0.02 |
12559 |
5 |
99.98 |
0.04 |
| 300000 |
320000 |
310000 |
2 |
0.02 |
12561 |
2 |
100 |
0.02 |
| TOTAL |
|
|
12561 |
100.00 |
|
|
|
|
| Tabla 2 de 4 |
4. GRAFICAS DE DISTRIBUCION
par(oma = c(1, 1, 1, 1))
par(mfrow=c(1,1))
color_acero <- "#B0C4DE"
par(mar = c(6, 5, 4, 2) + 0.1)
#asignamos las variables para el poligono de frecuencia
x_c <- MC_f # Marca de clase para cantidad
y_c <- ni_f # Frecuencia absoluta
x_p <- MC_f # Marca de clase para porcentaje
y_p <- hi_f # Frecuencia porcentual
# Grafica 2: Histograma Frecuencia Absoluta
hist(acero, freq = TRUE, col = color_acero, border = "black",
main = "Grafica Nº2: Distribucion de cantidad de impacto del acero
en pozos de gas natural en Nuevo Mexico",
xlab = "Impacto del Acero", ylab = "Cantidad")
lines(x_c, y_c, type = "b", col = "red", pch = 19, lwd = 2)
box(which = "outer", col = "black")

# Grafica 3: Histograma Global
hist(acero, freq = TRUE, col = color_acero, border = "black", ylim = c(0, n),
main = "Grafica Nº3: Distribucion de cantidad de impacto
del acero en pozos de gas natural en Nuevo Mexico",
xlab = "Impacto del Acero", ylab = "Cantidad")
lines(x_c, y_c, type = "b", col = "red", pch = 19, lwd = 2)
box(which = "outer", col = "black")

# Grafica 4: 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 = "Grafica Nº4: Distribucion de cantidad en porcentaje de impacto
del acero en pozos de gas natural en Nuevo Mexico",
xlab = "Impacto del Acero", ylab = "Porcentaje (%)")
lines(x_p, y_p, type = "b", col = "red", pch = 19, lwd = 2)
box(which = "outer", col = "black")

# Grafica 5: Frecuencia relativa global
plot(h_rel, col = color_acero, border = "black", ylim = c(0, 100),
main = "Grafica Nº5: Distribucion de cantidad de impacto de acero
en pozos de gas natural en Nuevo Mexico",
xlab = "Impacto del Acero", ylab = "Porcentaje (%)")
lines(x_p, y_p, type = "b", col = "red", pch = 19, lwd = 2)
box(which = "outer", col = "black")

#Grafica 6:ojivas
plot(lss, Nidsc, type="b", col="blue", pch=19, bg="white", xlab="Impacto del Acero", ylab="Cant. Acumulada",
main="Gráfica Nº6: 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")

# Grafica 7: Ojivas
plot(lss, Hidsc, type="b", col="blue", pch=19, bg="white", ylim=c(0, 100),
main="Gráfica Nº7: Ojivas combinadas de cantidad en porcentaje
del Impacto del Acero en pozos de gas natural en
Nuevo México",
xlab="Impacto del Acero", ylab="Porcentaje Acumulado")
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")

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

summary(acero)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 79121 136521 154798 156013 173025 310730
# Grafica 9: Superposición de Boxplot sobre Histograma
hist(acero, prob = TRUE, col = color_acero, border = "black",
xlab = "Impacto del Acero", ylab = "Densidad",
main = "Grafica Nº9: Análisis de densidad y cuartiles del Impacto del Acero")
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 ESTADISTICOS
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] 156012.9
#desciacion estandar
desv_val <- sd(acero)
desv_val
## [1] 27225.15
#minimo
min_val <- min(acero)
min_val
## [1] 79121.28
#maximo
max_val <- max(acero)
max_val
## [1] 310729.6
#desviacion relativa
cv_analisis <- abs(desv_val / media_val) * 100
cv_analisis
## [1] 17.45058
tipo_datos <- if(cv_analisis > 30) "heterogeneos" else "homogeneos"
conteo_atipicos <- length(boxplot.stats(acero)$out)
# TABLA 3 CON GT
TablaInd %>%
gt() %>%
tab_header(title = md("Tabla Nº3: Indicadores estadísticos de la variable
impacto de acero en pozos de gas natural en Nuevo México")) %>%
tab_style(
style = list(cell_fill(color = "lightgray"), cell_text(weight = "bold")),
locations = cells_title(groups = "title")
) %>%
tab_options(
column_labels.font.weight = "bold"
) %>%
tab_source_note(
source_note = md("**Tabla 3 de 4**"))
| Tabla Nº3: 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 |
79121.28 |
310729.6 |
156012.9 |
154798.2 |
27225.15 |
17.45 |
0.5 |
0.56 |
| 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 4 CON GT
TablaOutliers %>%
gt() %>%
tab_header(title = md("TABLA N°4: Valores atípicos de la variable Impacto de acero")) %>%
tab_style(
style = list(cell_fill(color = "lightgray"), cell_text(weight = "bold")),
locations = cells_title(groups = "title")
) %>%
tab_options(
column_labels.font.weight = "bold"
) %>%
tab_source_note(
source_note = md("**Tabla 4 de 4**"))
| TABLA N°4: Valores atípicos de la variable Impacto de acero |
| Cantidad |
Mínimo |
Máximo |
| 150 |
79121.28 |
310729.6 |
| Tabla 4 de 4 |
names(which.max(table(acero)))
## [1] "79121.28346"
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.