3. TABLA DE DISTRIBUCIÓN DE CANTIDAD AGRUPADA
Debido a que la Tabla conteniene valores con
decimales complejos, la vamos a simplificar
clasificacion <- character(length(vida_util))
for(i in seq_along(vida_util)){
if(!is.na(vida_util[i])){
if(vida_util[i] >= 25 & vida_util[i] < 33){
clasificacion[i] <- "25-32"
} else if(vida_util[i] >= 33 & vida_util[i] < 41){
clasificacion[i] <- "33-40"
} else if(vida_util[i] >= 41 & vida_util[i] < 49){
clasificacion[i] <- "41-48"
} else if(vida_util[i] >= 49 & vida_util[i] < 57){
clasificacion[i] <- "49-56"
} else if(vida_util[i] >= 57 & vida_util[i] < 65){
clasificacion[i] <- "57-64"
} else if(vida_util[i] >= 65 & vida_util[i] <= 75){
clasificacion[i] <- "65-75"
} else {
clasificacion[i] <- NA
}
} else {
clasificacion[i] <- NA
}
}
clasificacion <- na.omit(clasificacion)
orden_intervalos <- c("25-32", "33-40", "41-48", "49-56", "57-64", "65-75")
clasificacion <- factor(clasificacion, levels = orden_intervalos)
# Calculos de frecuencias
ni <- table(clasificacion)
total_datos <- sum(ni)
hi <- round(as.numeric(ni) / total_datos * 100, 2)
Ni_asc <- cumsum(ni)
Hi_asc <- cumsum(hi)
Ni_des <- rev(cumsum(rev(ni)))
Hi_des <- rev(cumsum(rev(hi)))
# Tabla Final
TDF_Completa <- data.frame(Intervalo = orden_intervalos, ni = as.numeric(ni), hi = hi,
Ni_asc = as.numeric(Ni_asc), Hi_asc = round(Hi_asc, 2),
Ni_des = as.numeric(Ni_des), Hi_des = round(Hi_des, 2))
TDF_Final <- rbind(TDF_Completa, data.frame(Intervalo="TOTAL", ni=total_datos, hi=100,
Ni_asc=" ", Hi_asc=" ", Ni_des=" ", Hi_des=" "))
| Tabla N°2. Tabla de distribucion de cantidad de la vida util
estimada de los pozos de gas natural en Nuevo Mexico |
| Intervalo |
ni |
hi |
Ni_asc |
Hi_asc |
Ni_des |
Hi_des |
| 25-32 |
178 |
1.42 |
178 |
1.42 |
12561 |
100 |
| 33-40 |
0 |
0.00 |
178 |
1.42 |
12383 |
98.58 |
| 41-48 |
0 |
0.00 |
178 |
1.42 |
12383 |
98.58 |
| 49-56 |
10586 |
84.28 |
10764 |
85.7 |
12383 |
98.58 |
| 57-64 |
817 |
6.50 |
11581 |
92.2 |
1797 |
14.3 |
| 65-75 |
980 |
7.80 |
12561 |
100 |
980 |
7.8 |
| TOTAL |
12561 |
100.00 |
|
|
|
|
| Tabla 2 de 4 |
4. GRÁFICAS DE DISTRIBUCIÓN DE CANTIDAD
color_abs <- "#76D7C4"
color_rel <- "#F1948A"
par(oma = c(1, 1, 1, 1))
par(mfrow=c(1,1))
#Grafica 1: Absoluta local
barplot(ni, names.arg = orden_intervalos, las = 2, col = color_abs,
xlab = "Vida Util Estimada", ylab = "Cantidad",
main = "Grafica N°1: Distribucion de cantidad de la vida util Estimada
de los pozos de gas natural en Nuevo Mexico")
box(which = "outer", col = "black")

#Grafica 2: Absoluta global
barplot(ni, names.arg = orden_intervalos, las = 2, col = "darkgrey",
ylim = c(0, total_datos), xlab = "Vida util Estimada", ylab = "Cantidad",
main = "Grafica N°2: Distribucion de cantidad de la vida util estimada
de los pozos de gas natural en Nuevo Mexico")
box(which = "outer", col = "black")

#Grafica 3: Relativa local
barplot(hi, names.arg = orden_intervalos, las = 2, col = color_rel,
xlab = "Vida util Estimada", ylab = "Porcentaje (%)",
main = "Grafica N°3: Distribucion de cantidad en porcentaje de
la vida util estimada de los pozos de gas natural en
Nuevo Mexico")
box(which = "outer", col = "black")

#Grafica 4: Relativa global
barplot(hi, names.arg = orden_intervalos, las = 2, col = "grey50",
ylim = c(0, 100), xlab = "Vida util Estimada", ylab = "Porcentaje (%)",
main = "Grafica N°4: Distribucion de cantidad en porcentaje de la vida
util estimada de los pozos de gas natural en Nuevo Mexico")
posicion_x <- 1:length(ni)
box(which = "outer", col = "black")

#Grafica 5: Ojivas Ni
plot(posicion_x, Ni_asc, type = "o", pch = 1, col = "blue", xaxt = "n",
xlab = "Vida util Estimada", ylab = "Cantidad acumulada (Ni)",
main = "Grafica N°5: Ojivas combinadas de la vida util estimada (Ni)")
axis(1, at = posicion_x, labels = orden_intervalos, las = 2)
lines(posicion_x, Ni_des, type = "o", pch = 1, col = "red")
legend("right", legend = c("Ascendente", "Descendente"), col = c("blue", "red"), pch = c(1, 1), bty = "n")
box(which = "outer", col = "black")

#Grafica 6: Ojivas Hi
plot(posicion_x, Hi_asc, type = "o", pch = 1, col = "blue", xaxt = "n", ylim = c(0, 100),
xlab = "Vida util Estimada", ylab = "Porcentaje acumulado (Hi)",
main = "Grafica N°6: Ojivas combinadas de la vida util estimada (Hi)")
axis(1, at = posicion_x, labels = orden_intervalos, las = 2)
lines(posicion_x, Hi_des, type = "o", pch = 1, col = "red")
legend("right", legend = c("Ascendente", "Descendente"), col = c("blue", "red"), pch = c(1, 1), bty = "n")
box(which = "outer", col = "black")

#Grafica 7: Boxplot
boxplot(vida_util, horizontal = TRUE, col = "lightblue",
xlab = "Vida util Estimada", main = "Grafica N°7: Distribucion de cantidad de la vida util
estimada de los pozos de gas natural en Nuevo Mexico")
box(which = "outer", col = "black")

summary(vida_util)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 25.00 50.00 50.00 51.86 50.00 73.00
5. INDICADORES ESTADÍSTICOS
#media
media_x <- mean(vida_util, na.rm = TRUE)
media_x
## [1] 51.86331
#minimo
val_min <- min(vida_util, na.rm = TRUE)
val_min
## [1] 25
#maximo
val_max <- max(vida_util, na.rm = TRUE)
val_max
## [1] 73
#mediana
mediana_Me <- median(vida_util, na.rm = TRUE)
mediana_Me
## [1] 50
#desviacion estandart
desv_estandar <- sd(vida_util, na.rm = TRUE)
desv_estandar
## [1] 6.295903
#coeficiente
coef_variacion <- ((desv_estandar / media_x) * 100)
coef_variacion
## [1] 12.13942
#asimetria
asimetria_As <- skewness(vida_util, na.rm = TRUE)
asimetria_As
## [1] 0.5076765
#curtosis
curtosis_K <- kurtosis(vida_util, na.rm = TRUE)
curtosis_K
## [1] 5.8894
#================TABLA DE INDICADORES================
TablaIndicadores <- data.frame(Variable = "Vida Util Estimada", minimo = val_min, maximo = val_max, x = round(media_x, 2),
Me = mediana_Me, sd = round(desv_estandar, 2),
Cv = round(coef_variacion, 2), As = round(asimetria_As, 2), K = round(curtosis_K, 2))
TablaIndicadores %>%
gt() %>%
tab_header(title = md("Tabla N°3. Indicadores estadisticos de la variable vida util
estimada de los pozos de gas natural en Nuevo Mexico")) %>%
tab_style(
style = list(cell_fill(color = "lightgray"), cell_text(weight = "bold")),
locations = cells_title(groups = "title")
) %>%
cols_align(align = "center", columns = everything()) %>%
tab_source_note(
source_note = md("**Tabla 3 de 4**")
) %>%
tab_options(
column_labels.font.weight = "bold" # Subtítulos de columnas en negrita
)
| Tabla N°3. Indicadores estadisticos de la variable vida util
estimada de los pozos de gas natural en Nuevo Mexico |
| Variable |
minimo |
maximo |
x |
Me |
sd |
Cv |
As |
K |
| Vida Util Estimada |
25 |
73 |
51.86 |
50 |
6.3 |
12.14 |
0.51 |
5.89 |
| Tabla 3 de 4 |
#=====================TABLA DE OUTLIERS=====================
valores_atipicos <- boxplot.stats(vida_util)$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(Outliers = n_atipicos, Minimo = min_atipico, Maximo = max_atipico)
| Tabla N°4. Outliers de la variable vida util
estimada de los pozos de gas natural en Nuevo Mexico |
| Outliers |
Minimo |
Maximo |
| 2352 |
25 |
73 |
| Tabla 4 de 4 |