#==============================ENCABEZADO================================
# TEMA: ESTADÍSTICA INFERENCIAL- COMPLEJIDAD DE LA ESTRUCTURA DE REVESTIMIENTO
# AUTOR: GRUPO 3
# FECHA: 03-2026
#========================================================================
library(dplyr)
library(gt)
library(knitr)
setwd("C:/Users/HP/Documents/PROYECTO ESTADISTICA/RStudio")
datos <- read.csv("tablap.csv", header = TRUE, dec = ",", sep = ";")
casing_raw <- datos$Complexity.of.the.casing.structure
casing_raw <- casing_raw[!is.na(casing_raw)]
Complejidad_Ori <- factor(casing_raw, levels = 0:7, ordered = TRUE)
ni_ori <- table(Complejidad_Ori)
hi_ori <- round(prop.table(ni_ori) * 100, 2)
P_ori <- round(as.numeric(prop.table(ni_ori)*100), 2) # Agregado
tabla_base_n <- data.frame(
Nivel = names(ni_ori),
ni = as.numeric(ni_ori),
hi = as.numeric(hi_ori),
P = P_ori
)
fila_total_n <- data.frame(Nivel = "TOTAL", ni = sum(tabla_base_n$ni), hi = 100, P = 100)
tabla_final_n <- rbind(tabla_base_n, fila_total_n)
| Tabla Nº1. Distribución de probabilidad de Complejidad de estructura de revestimiento en las cuencas de gas natural en Nuevo México | |||
| Nivel de Complejidad | ni | hi (%) | P |
|---|---|---|---|
| 0 | 2476 | 19.71 | 19.71 |
| 1 | 33 | 0.26 | 0.26 |
| 2 | 5383 | 42.85 | 42.85 |
| 3 | 4138 | 32.94 | 32.94 |
| 4 | 503 | 4.00 | 4.00 |
| 5 | 25 | 0.20 | 0.20 |
| 6 | 2 | 0.02 | 0.02 |
| 7 | 1 | 0.01 | 0.01 |
| TOTAL | 12561 | 100.00 | 100.00 |
| Tabla 1 de 3 | |||
Comp_Texto <- as.character(casing_raw)
# 1. CLASIFICACIÓN MEDIANTE BUCLE FOR E IF-ELSE
Comp_Texto <- as.character(casing_raw)
# 1. CLASIFICACIÓN MEDIANTE BUCLE FOR E IF-ELSE
for (i in 1:length(Comp_Texto)) {
if (Comp_Texto[i] %in% c("0", "1", "2")) {
Comp_Texto[i] <- "Baja"
} else if (Comp_Texto[i] %in% c("3", "4", "5")) {
Comp_Texto[i] <- "Media"
} else if (Comp_Texto[i] %in% c("6", "7")) {
Comp_Texto[i] <- "Alta"
}
}
# 2. CONVERSION A FACTOR ORDENADO
Comp_Factor <- factor(Comp_Texto, levels = c("Baja", "Media", "Alta"), ordered = TRUE)
# 3. GENERACIÓN DE FRECUENCIAS
ni_ag <- table(Comp_Factor)
hi_ag <- round(prop.table(ni_ag) * 100, 2)
P_ag <- round(as.numeric(prop.table(ni_ag)) * 100, 2) # Agregado P
tabla_base_ag <- data.frame(
Nivel = names(ni_ag),
ni = as.numeric(ni_ag),
hi = as.numeric(hi_ag),
P = P_ag # Agregado P
)
# 4. CRITERIO NUMÉRICO ORDINAL
tabla_base_ag$Nivel_num <- NA
for (i in 1:nrow(tabla_base_ag)) {
if (tabla_base_ag$Nivel[i] == "Baja") {
tabla_base_ag$Nivel_num[i] <- 0
} else if (tabla_base_ag$Nivel[i] == "Media") {
tabla_base_ag$Nivel_num[i] <- 1
} else if (tabla_base_ag$Nivel[i] == "Alta") {
tabla_base_ag$Nivel_num[i] <- 2
}
}
# 5. CREACIÓN DE FILA TOTAL
fila_total_ag <- data.frame(
Nivel = "TOTAL",
ni = sum(tabla_base_ag$ni),
hi = 100,
P = 100.00, # Agregado P
Nivel_num = NA
)
tabla_final_ag <- rbind(tabla_base_ag, fila_total_ag)
| Tabla Nº2. Distribución de probabilidad de Complejidad de estructura de revestimiento en las cuencas de gas natural en Nuevo México | |||
| Clasificación | ni | hi (%) | P |
|---|---|---|---|
| Baja | 7892 | 62.83 | 62.83 |
| Media | 4666 | 37.15 | 37.15 |
| Alta | 3 | 0.02 | 0.02 |
| TOTAL | 12561 | 100.00 | 100.00 |
| Tabla 2 de 3 | |||
par(oma = c(1, 1, 1, 1))
par(mfrow=c(1,1))
barplot(tabla_base_n$hi, main = "Gráfica Nº1. Distribución de probabilidad de
Complejidad de estructura de revestimiento en las cuencas de gas
natural en Nuevo México",
xlab = "Nivel de Complejidad", ylab = "Probabilidad (%)", col = "gray", names.arg = 0:7, ylim = c(0, 100))
box(which = "outer", col = "black")
barplot(tabla_base_ag$hi, main = "Gráfica Nº2. Distribución de probabilidad de
Complejidad de estructura de revestimiento en las cuencas de gas
natural en Nuevo México",
xlab = "Clasificación", ylab = "Probabilidad (%)", col = "skyblue",
names.arg = tabla_base_ag$Nivel, ylim = c(0, 100))
box(which = "outer", col = "black")
Debido a la similitud de las barras conjeturamos con un modelo Geométrico
Media Muestral
# los datos se concentran casi por completo en el nivel inicial
media_observada <- sum(X_val * x) / n
media_observada
## [1] 0.3719449
Frecuencia Observada
# 7. Frecuencias Observadas en porcentaje (Porcentaje real de datos en la muestra)
Fo <- (tabla_base_ag$ni / n) * 100
Fo
## [1] 62.82939256 37.14672399 0.02388345
Frecuencia Esperada
# 8. Frecuencias Esperadas en porcentaje (Porcentaje teórico que predice el modelo)
Fe <- P_geometrica * 100
Fe
## [1] 72.889224 19.760834 5.357315
par(oma = c(1, 1, 1, 1))
barplot(rbind(Fo, Fe), beside = TRUE, col = c("skyblue", "darkgreen"),
names.arg = tabla_base_ag$Nivel,
main = "Gráfica Nº3. Comparación de la realidad con el modelo
geométrico del nivel de complejidad de los pozos de
gas natural en Nuevo México",
ylab = "Probabilidad (%)", xlab = "Nivel de Complejidad", ylim = c(0, 100))
legend("right", legend = c("Realidad", "Modelo"), fill = c("skyblue", "darkgreen"), cex = 1)
box(which = "outer", col = "black")
par(oma = c(1, 1, 1, 1))
plot(Fo, Fe,
xlim = c(0, max(Fo)),
ylim = c(0, max(Fe)),
main = "Gráfica Nº4. Correlación de frecuencias",
xlab = "Frecuencia Observada (%)",
ylab = "Frecuencia Esperada (%)",
pch = 19,
col = "darkblue")
abline(a = 0, b = 1, col = "red", lwd = 2)
box(which = "outer", col = "black")
Test de Pearson
Correlacion_pearson <- cor(Fo, Fe) * 100
Correlacion_pearson
## [1] 91.12476
Chi- Cuadrado
x2 <- sum((Fo - Fe)^2 / Fe)
x2
## [1] 21.99444
Umbral de Aceptación
vc <- qchisq(0.99999, gl)
vc
## [1] 23.02585
# TABLA DE RESUMEN
tabla_resumen_data <- data.frame(
Variable = "Complejidad",
Pearson = round(Correlacion_pearson, 2),
Chi2 = round(x2, 2),
Umbral = round(vc, 2)
)
| Tabla Nº3. Resumen de test de bondad al modelo de probabilidad | |||
| Variable | Pearson (%) | Chi Cuadrado | Umbral de aceptación |
|---|---|---|---|
| Complejidad | 91.12 | 21.99 | 23.03 |
| Tabla 3 de 3 | |||
prob_baja_geom <- round(dgeom(0, p_param) * 100, 2)
La variable complejidad se explica a través de un modelo geométrico, aprobando satisfactoriamente los test de bondad de ajuste de Pearson (91.1%) y Chi-cuadrado(cuyo valor de 21.99 es menor al umbral de aceptacion). De esta manera, el modelo es estadísticamente válido para calcular probabilidades.