ANÁLISIS ESTADÍSTICO
1. CARGA DE LIBRERÍAS Y DATOS
#==============================ENCABEZADO================================
# TEMA: ESTADISTICA DESCRIPTIVA - IMPACTO DEL ACERO
# AUTOR: GRUPO 3
# FECHA: 05-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)
k <- floor(1 + 3.322 * log10(n))
minimo <- min(acero)
maximo <- max(acero)
R <- maximo - minimo
A <- R / k
k # Valor de Sturges
## [1] 14
A # Amplitud
## [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 = cells_body(rows = Li == "TOTAL")
)
| 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 |
2. TABLA DE DISTRIBUCION AGRUPADA
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 = cells_body(rows = Li == "TOTAL")
)
| 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 |
|
|
|
|
3. GRAFICAS DE DISTRIBUCION
par(mfrow=c(1,1))
color_acero <- "#B0C4DE"
# Grafica 1: Histograma Frecuencia Absoluta
hist(acero, freq = TRUE, col = color_acero, border = "white",
main = "Grafica Nº1. Distribucion de cantidad de impacto del acero
en pozos de gas natural en Nuevo Mexico",
xlab = "Impacto del Acero", ylab = "Cantidad")

# Grafica 2: Histograma Global
hist(acero, freq = TRUE, col = color_acero, border = "white", ylim = c(0, n),
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")

# Grafica 3: Histograma 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 = "white",
main = "Grafica Nº3. Distribucion de cantidad en porcentaje de impacto
del acero en pozos de gas natural en Nuevo Mexico",
xlab = "Impacto del Acero", ylab = "Porcentaje (%)")

# Grafica 4
plot(h_rel, col = color_acero, border = "white", ylim = c(0, 100),
main = "Grafica Nº4. Distribucion de cantidad de impacto de acero
en pozos de gas natural en Nuevo Mexico",
xlab = "Impacto del Acero", ylab = "Porcentaje (%)")

# Grafica 5: Ojivas
plot(lss, Hidsc, type="o", col="#2E86C1", lwd=2, pch=19, ylim=c(0, 100),
main="Grafica Nº5. Ojivas combinadas de Impacto de acero
en pozos de gas natural en Nuevo Mexico",
xlab="Impacto del Acero", ylab="Porcentaje Acumulado")
lines(lis, Hiasc, type="o", col="black", lwd=2, pch=18)
legend("topright", legend=c("Descendente", "Ascendente"), col=c("#2E86C1", "black"),
lwd=2, pch=c(19, 18), bty="n")

# Grafica 6: Boxplot
boxplot(acero, horizontal = TRUE, col = color_acero, border = "#2E4053",
main = "Grafica Nº6. Distribucion de cantidad de impacto
de acero en pozos de gas natural en Nuevo Mexico",
xlab = "Impacto del Acero")

4. 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))
TablaInd %>% gt() %>% tab_header(title = md("**Tabla Nº3: Indicadores
Estadisticos de la variable Impacto
de Acero**"))
| Tabla Nº3: Indicadores
Estadisticos de la variable Impacto
de Acero |
| 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 |
valores_atipicos <- boxplot.stats(acero)$out
TablaOutliers <- data.frame(Cantidad = length(valores_atipicos),
Minimo = if(length(valores_atipicos) > 0) min(valores_atipicos) else 0,
Maximo = if(length(valores_atipicos) > 0) max(valores_atipicos) else 0)
TablaOutliers %>% gt() %>% tab_header(title = md("**Tabla Nº4: Analisis de Valores Atipicos**"))
| Tabla Nº4: Analisis de Valores Atipicos |
| Cantidad |
Minimo |
Maximo |
| 150 |
79121.28 |
310729.6 |
5. CONCLUSIÓN
cat(paste0(
"La variable impacto de la produccion de acero para la plataforma presenta valores que fluctuan entre ",
round(min(acero),1), " y ", round(max(acero),1), ", con una media de ", round(mean(acero),1),
" y un valor central de ", round(median(acero),1), ". La desviacion estandar de ", round(sd(acero),1),
", junto con un Coeficiente de Variacion de ", round(abs((sd(acero)/mean(acero))*100),1),
"%, indica la variabilidad de los datos. Esto refleja que el volumen de acero ",
"utilizado varia segun las especificaciones tecnicas de los pozos en Nuevo Mexico. ",
"La asimetria de ", round(skewness(acero),2), " indica la distribucion de la concentracion de proyectos ",
"en los rangos calculados. Finalmente, se identificaron ", length(valores_atipicos),
" valores atípicos, lo que sugiere el nivel de estandarización en el uso de materiales para las plataformas."
))
## La variable impacto de la produccion de acero para la plataforma presenta valores que fluctuan entre 79121.3 y 310729.6, con una media de 156012.9 y un valor central de 154798.2. La desviacion estandar de 27225.2, junto con un Coeficiente de Variacion de 17.5%, indica la variabilidad de los datos. Esto refleja que el volumen de acero utilizado varia segun las especificaciones tecnicas de los pozos en Nuevo Mexico. La asimetria de 0.5 indica la distribucion de la concentracion de proyectos en los rangos calculados. Finalmente, se identificaron 150 valores atípicos, lo que sugiere el nivel de estandarización en el uso de materiales para las plataformas.