ANÁLISIS ESTADÍSTICO
1. CARGA DE LIBRERÍAS Y DATOS
# 1. CARGA DE DATOS Y LIBRERIAS
library(dplyr)
library(knitr)
library(gt)
setwd("C:/Users/HP/Documents/PROYECTO ESTADISTICA/RStudio")
datos_full <- read.csv("tablap.csv", header = TRUE, sep = ";", dec = ",")
# Muestreo (10% de los datos para claridad visual - Ajustado según tu código literal al 1%)
set.seed(42)
datos <- datos_full[sample(nrow(datos_full), round(nrow(datos_full) * 0.01)), ]
2. TABLA PARES DE VALORES
x <- as.numeric(datos$Horizontal.Length) / 1000
y <- as.numeric(datos$Fuel.consumed..drilling.in.gallon.)
TPV <- data.frame(x, y)
# --- MOSTRAR TABLA (Primeros 20 registros procesados con gt) ---
tabla_tpv_previa <- head(TPV, 20)
# Multiplicamos la columna 'x' por 1000 solo para la visualización en metros
tabla_tpv_previa$x <- tabla_tpv_previa$x * 1000
tabla_tpv_previa <- cbind(Nro = 1:nrow(tabla_tpv_previa), tabla_tpv_previa)
tabla_tpv_previa %>%
gt() %>%
cols_label(Nro = "N°", x = "Longitud Horizontal (m)", y = "Consumo (galones)") %>%
tab_header(title = md("**Tabla N° 4. Pares de Valores: Longitud vs. Consumo**")) %>%
cols_align(align = "center") %>%
fmt_number(columns = c(x, y), decimals = 2) %>%
tab_options(table.width = pct(80), column_labels.font.weight = "bold")
| Tabla N° 4. Pares de Valores: Longitud vs. Consumo |
| N° |
Longitud Horizontal (m) |
Consumo (galones) |
| 1 |
2,151.84 |
5,195.29 |
| 2 |
2,441.18 |
6,859.66 |
| 3 |
448.46 |
2,683.84 |
| 4 |
1,050.89 |
2,979.56 |
| 5 |
1,856.06 |
4,549.63 |
| 6 |
240.10 |
1,444.85 |
| 7 |
1,765.53 |
4,531.40 |
| 8 |
2,053.42 |
5,119.57 |
| 9 |
2,406.76 |
7,119.47 |
| 10 |
65.49 |
2,139.57 |
| 11 |
2,479.23 |
6,545.87 |
| 12 |
1,540.39 |
3,761.80 |
| 13 |
784.95 |
3,456.13 |
| 14 |
2,014.83 |
4,837.81 |
| 15 |
1,816.15 |
3,563.52 |
| 16 |
1,079.38 |
3,660.69 |
| 17 |
174.29 |
1,787.93 |
| 18 |
1,835.85 |
4,281.62 |
| 19 |
2,035.98 |
3,328.64 |
| 20 |
1,127.34 |
3,441.46 |
3. DIAGRAMA DE DISPERSIÓN
plot(x * 1000, y,
pch = 16,
col = "blue",
main ="Gráfica Nº 1: Dispersión Longitud vs Consumo",
xlab =" Longitud Horizontal (m) ",
ylab = " Consumo (galones) ")

4. CONJETURA DEL MODELO
xcuad <- x^2; xcub <- x^3; xcta <- x^4
regresion_polinomica <- lm(y ~ x + xcuad + xcub + xcta)
beta0 <- regresion_polinomica$coefficients[1]
beta1 <- regresion_polinomica$coefficients[2]
beta2 <- regresion_polinomica$coefficients[3]
beta3 <- regresion_polinomica$coefficients[4]
beta4 <- regresion_polinomica$coefficients[5]
# Generar la curva
plot(x * 1000, y, pch = 16, col = "blue",
main ="Gráfica Nº 2: Comparación modelo polinómico",
xlab =" Longitud Horizontal (m) ", ylab = " Consumo (galones) ")
curve(beta0 + beta1*(x/1000) + beta2*(x/1000)^2 + beta3*(x/1000)^3 + beta4*(x/1000)^4,
from = min(x*1000), to = max(x*1000), add = TRUE, col="red", lwd = 2)

5. TEST DE APROBACIÓN Y RESTRICCIONES
r <- cor(y, predict(regresion_polinomica))
tabla_tests <- data.frame(
Indicador = c("Correlación de Pearson (r)"),
Valor = c(paste0(round(r * 100, 2), " %"))
)
# Imprimir la tabla de indicadores de Pearson
tabla_tests %>%
gt() %>%
tab_header(title = md("**Test de Aprobación del Modelo Polinómico**")) %>%
cols_align(align = "center") %>%
tab_options(table.width = pct(60), column_labels.font.weight = "bold")
| Test de Aprobación del Modelo Polinómico |
| Indicador |
Valor |
| Correlación de Pearson (r) |
94.72 % |
# Generación de la tarjeta gráfica independiente de restricciones
plot.new()
plot.window(xlim = c(0, 100), ylim = c(0, 100))
text(50, 85, "RESTRICCIONES DEL MODELO", cex = 1.4, font = 2, col = "#D9534F")
parrafo_1 <- "El modelo requiere un escalado inicial de variables para
mitigar la multicolinealidad. Los modelos de grado superior son
altamente sensibles a la extrapolación outside-range."
text(50, 55, parrafo_1, cex = 1.1, font = 3, col = "black")
rect(2, 5, 98, 95, border = "#D9534F", lwd = 3)

6. CÁLCULO DE PRONÓSTICOS
x0_m <- 1500
x0 <- x0_m / 1000
consumo_esp <- beta0 + beta1*x0 + beta2*x0^2 + beta3*x0^3 + beta4*x0^4
plot.new()
plot.window(xlim = c(0, 100), ylim = c(0, 1))
rect(10, 0.4, 90, 0.6, col = "#E5E7E9", border = NA)
text(50, 0.85, "PRONÓSTICO DEL MODELO POLINÓMICO", cex = 1.5, font = 2, col = "#2A9D8F")
texto_pregunta <- paste0("¿Cuál sería el consumo esperado si la longitud es de ", x0_m, "m?")
text(50, 0.75, texto_pregunta, cex = 1.1, font = 3)
text(50, 0.5, paste0("R = ", round(consumo_esp, 2), " galones"), cex = 1.6, font = 2, col = "#1F618D")
rect(10, 0.4, 90, 0.6, border = "#2A9D8F", lwd = 2)

7. CONCLUSIÓN
## Entre la longitud horizontal (m) y el consumo de combustible (galones), se observa una relación polinomial de cuarto grado. Ejemplo: Cuando la longitud es de 1500 m, el modelo predice un consumo aproximado de 3670.34 galones.