#==============================ENCABEZADO===================
# TEMA: ESTADÍSTICA DESCRIPTIVA - VIDA ESTIMADA
# AUTOR: GRUPO 3
# FECHA: 03-2026
#===========================================================
library(gt)
library(dplyr)
library(e1071)
setwd("C:/Users/HP/Documents/PROYECTO ESTADISTICA/RStudio")
datos <- read.csv("tablap.csv", header = TRUE, dec = ",", sep = ";")
Asignamos nuestra variable Estimated.lifetime (Vida Estimada) con el nombre de vida_util
vida_util <- datos$Estimated.lifetime
TABLA DE DISTRIBUCIÓN ORIGINAL
ni_orig <- table(na.omit(vida_util))
total_datos_orig <- sum(ni_orig)
hi_orig <- round(as.numeric(ni_orig) / total_datos_orig * 100, 2)
TDF_Original <- data.frame(
Valor = names(ni_orig),
ni = as.numeric(ni_orig),
hi = hi_orig
)
TDF_Final_Original <- rbind(
TDF_Original,
data.frame(Valor = "TOTAL", ni = total_datos_orig, hi = 100)
)
| Tabla N° 1. Tabla de distribución de cantidad de la vida útil estimada de los pozos de gas natural en Nuevo México | ||
| Valor | ni | hi |
|---|---|---|
| 25 | 178 | 1.42 |
| 50 | 10209 | 81.28 |
| 51 | 82 | 0.65 |
| 52 | 55 | 0.44 |
| 53 | 34 | 0.27 |
| 54 | 80 | 0.64 |
| 55 | 60 | 0.48 |
| 56 | 66 | 0.53 |
| 57 | 90 | 0.72 |
| 58 | 97 | 0.77 |
| 59 | 81 | 0.64 |
| 60 | 61 | 0.49 |
| 61 | 125 | 1.00 |
| 62 | 105 | 0.84 |
| 63 | 108 | 0.86 |
| 64 | 150 | 1.19 |
| 65 | 140 | 1.11 |
| 66 | 157 | 1.25 |
| 67 | 170 | 1.35 |
| 68 | 162 | 1.29 |
| 69 | 70 | 0.56 |
| 70 | 107 | 0.85 |
| 71 | 79 | 0.63 |
| 72 | 71 | 0.57 |
| 73 | 24 | 0.19 |
| TOTAL | 12561 | 100.00 |
| Tabla 1 de 3 | ||
TABLA DE DISTRIBUCIÓN CON STURGES
Debido a la gran cantidad de filas presentes en la tabla original, se hizo uso de la regla de Sturges.
n <- length(na.omit(vida_util))
k_sturges <- 1 + (3.322 * log10(n))
k_sturges
## [1] 14.61696
clasificacion_sturges <- cut(vida_util, breaks = k_sturges, right = FALSE)
# Cálculos de frecuencias para Sturges
ni_sturges <- table(clasificacion_sturges)
total_datos_sturges <- sum(ni_sturges)
hi_sturges <- round(as.numeric(ni_sturges) / total_datos_sturges * 100, 2)
| Tabla N° 2. Tabla de distribución de cantidad de la vida útil estimada de los pozos de gas natural en Nuevo México | ||
| Intervalo | ni | hi |
|---|---|---|
| [25-28.4) | 178 | 1.42 |
| [28.4-31.9) | 0 | 0.00 |
| [31.9-35.3) | 0 | 0.00 |
| [35.3-38.7) | 0 | 0.00 |
| [38.7-42.1) | 0 | 0.00 |
| [42.1-45.6) | 0 | 0.00 |
| [45.6-49) | 0 | 0.00 |
| [49-52.4) | 10346 | 82.37 |
| [52.4-55.9) | 174 | 1.39 |
| [55.9-59.3) | 334 | 2.66 |
| [59.3-62.7) | 291 | 2.32 |
| [62.7-66.1) | 555 | 4.42 |
| [66.1-69.6) | 402 | 3.20 |
| [69.6-73) | 281 | 2.24 |
| TOTAL | 12561 | 100.00 |
| Tabla 2 de 3 | ||
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.
min_val <- 25
max_val <- ceiling(max(vida_util, na.rm = TRUE) / 10) * 10
limites <- seq(min_val, max_val, by = 10)
k_int <- length(limites) - 1
orden_intervalos <- character(k_int)
for(i in 1:k_int) {
orden_intervalos[i] <- paste0(limites[i], "-", limites[i+1] - 1)
}
clasificacion <- character(length(vida_util))
for(i in seq_along(vida_util)){
if(!is.na(vida_util[i])){
asignado <- FALSE
for(j in 1:k_int) {
if(vida_util[i] >= limites[j] && vida_util[i] < limites[j+1]) {
clasificacion[i] <- orden_intervalos[j]
asignado <- TRUE
break
}
}
if(!asignado && vida_util[i] == limites[k_int + 1]) {
clasificacion[i] <- orden_intervalos[k_int]
} else if(!asignado) {
clasificacion[i] <- NA
}
} else {
clasificacion[i] <- NA
}
}
clasificacion <- na.omit(clasificacion)
clasificacion <- factor(clasificacion, levels = orden_intervalos)
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 N° 3. Tabla de distribución de cantidad de la vida útil estimada de los pozos de gas natural en Nuevo México | ||||||
| Intervalo | ni | hi | Ni_asc | Hi_asc | Ni_des | Hi_des |
|---|---|---|---|---|---|---|
| 25-34 | 178 | 1.42 | 178 | 1.42 | 12561 | 100 |
| 35-44 | 0 | 0.00 | 178 | 1.42 | 12383 | 98.58 |
| 45-54 | 10460 | 83.27 | 10638 | 84.69 | 12383 | 98.58 |
| 55-64 | 943 | 7.51 | 11581 | 92.2 | 1923 | 15.31 |
| 65-74 | 980 | 7.80 | 12561 | 100 | 980 | 7.8 |
| TOTAL | 12561 | 100.00 | ||||
| Tabla 3 de 3 | ||||||
color_abs <- "#76D7C4"
color_rel <- "#F1948A"
par(oma = c(1, 1, 1, 1))
par(mfrow=c(1,1))
#Gráfica 1: Absoluta local
barplot(ni, names.arg = orden_intervalos, las = 2, col = color_abs,
xlab = "Vida Útil Estimada (años)", ylab = "Cantidad (ni)",
main = "Gráfica N° 1: Distribución de cantidad de la vida útil estimada
de los pozos de gas natural en Nuevo México")
box(which = "outer", col = "black")
#Gráfica 2: Absoluta global
barplot(ni, names.arg = orden_intervalos, las = 2, col = "darkgrey",
ylim = c(0, total_datos), xlab = "Vida útil estimada (años)", ylab = "Cantidad (ni)",
main = "Gráfica N° 2: Distribución de cantidad de la vida útil estimada
de los pozos de gas natural en Nuevo México")
box(which = "outer", col = "black")
#Gráfica 3: Relativa local
barplot(hi, names.arg = orden_intervalos, las = 2, col = color_rel,
xlab = "Vida útil estimada (años)", ylab = "Porcentaje (%)",
main = "Gráfica N° 3: Distribución de cantidad en porcentaje de
la vida útil estimada de los pozos de gas natural en
Nuevo México")
box(which = "outer", col = "black")
#Gráfica 4: Relativa global
barplot(hi, names.arg = orden_intervalos, las = 2, col = "grey50",
ylim = c(0, 100), xlab = "Vida útil estimada (años)", ylab = "Porcentaje (%)",
main = "Gráfica N° 4: Distribución de cantidad en porcentaje de la vida
útil estimada de los pozos de gas natural en Nuevo México")
posicion_x <- 1:length(ni)
box(which = "outer", col = "black")
#Gráfica 5: Ojivas Ni
plot(posicion_x, Ni_asc, type = "o", pch = 1, col = "blue", xaxt = "n",
xlab = "Vida útil estimada (años)", ylab = "Cantidad acumulada (Ni)",
main = "Gráfica N° 5: Ojivas combinadas de la vida útil estimada")
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")
#Gráfica 6: Ojivas Hi
plot(posicion_x, Hi_asc, type = "o", pch = 1, col = "blue", xaxt = "n", ylim = c(0, 100),
xlab = "Vida útil estimada (años)", ylab = "Porcentaje acumulado (Hi)",
main = "Gráfica N° 6: Ojivas combinadas de la vida útil estimada")
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")
#Gráfica 7: Boxplot
boxplot(vida_util, horizontal = TRUE, col = "lightblue",
xlab = "Vida útil estimada (años)", main = "Gráfica N° 7: Distribución de cantidad de la vida útil
estimada de los pozos de gas natural en Nuevo México")
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
#media
media_x <- mean(vida_util, na.rm = TRUE)
media_x
## [1] 51.86331
#mínimo
val_min <- min(vida_util, na.rm = TRUE)
val_min
## [1] 25
#máximo
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
#desviación estándar
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
#asimetría
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
TablaIndicadores <- data.frame(Variable = "Vida Útil Estimada", mínimo = val_min, máximo = 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))
| Indicadores estadísticos de la variable Vida Útil Estimada | ||||||||
| Variable | mínimo | máximo | x | Me | sd | Cv | As | K |
|---|---|---|---|---|---|---|---|---|
| Vida Útil Estimada | 25 | 73 | 51.86 | 50 | 6.3 | 12.14 | 0.51 | 5.89 |
| Tabla 3 de 4 | ||||||||
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 útil estimada de los pozos de gas natural en Nuevo México | ||
| Outliers | Minimo | Maximo |
|---|---|---|
| 2352 | 25 | 73 |
| Tabla 4 de 4 | ||
La variable vida útil estimada presenta valores que fluctúan entre 25 y 73, con una concentración en torno a la mediana de 50. La desviación estándar de 6.3 indica que se trata de un conjunto homogéneo, a pesar de la presencia de 2352 valores atípicos ubicados en el extremo derecho de la distribución. Esta concentración central evidencia que más del 80% de los pozos proyectan una vida útil en torno a los 50 años, un comportamiento altamente beneficioso ya que una mayor longevidad optimiza la producción.