1 Configuración y Carga de Datos

# Carga de datos
archivo <- "tabela_de_pocos_janeiro_2018.xlsx"

tryCatch({
  datos <- read_excel(archivo)
}, error = function(e) {
  stop("Error")
})

2 Extracción y Depuración de Variables

Se seleccionó la Profundidad Vertical como variable independiente (\(x\)) debido a que representa el objetivo geológico fijo (la ubicación conocida del yacimiento).

Por consiguiente, la Profundidad de Perforación funciona como la variable dependiente (\(y\)), pues representa la longitud operativa necesaria para alcanzar dicho objetivo.

  • Variable Independiente (X): Profundidad Vertical (m)
  • Variable Dependiente (Y): Profundidad de Perforación (m)
datos_model <- datos %>%
  select(PROFUNDIDADE_VERTICAL_M, PROFUNDIDADE_SONDADOR_M) %>%
  mutate(
    x = abs(as.numeric(str_replace(as.character(PROFUNDIDADE_VERTICAL_M), ",", "."))),
    y = abs(as.numeric(str_replace(as.character(PROFUNDIDADE_SONDADOR_M), ",", ".")))
  ) %>%

  filter(!is.na(x) & !is.na(y) & x > 0 & y > 0 & x <= 15000)

3 Análisis Gráfico

par(mar = c(5, 5, 4, 2))
plot(datos_model$x, datos_model$y,
     main = "Gráfica N°1: Dispersión de Prof. de Perforación en función de Prof. Vertical",
     xlab = "Profundidad Vertical (m)",
     ylab = "Profundidad de Perforación (m)",
     col = "#3498DB", pch = 16, cex = 0.7, frame.plot = FALSE)
grid(nx = NULL, ny = NULL, col = "#D7DBDD", lty = "dotted")
axis(1); axis(2)

4 Conjetura del Modelo de Regresión Lineal

Se plantea el modelo matemático: \[y = mx + b\]

modelo <- lm(y ~ x, data = datos_model)

4.1 Gráfica del Modelo con Intervalos de Confianza

Se presenta el ajuste lineal incluyendo la banda de incertidumbre estadística (Intervalo de Confianza del 95%).

par(mar = c(5, 5, 4, 2))
plot(datos_model$x, datos_model$y,
     main = "Gráfica N°2: Modelo Lineal: Prof. de Perforación en función de Prof. Vertical",
     xlab = "Profundidad Vertical (m)",
     ylab = "Profundidad Sondador (m)",
     col = "#3498DB", pch = 16, cex = 0.6, frame.plot = FALSE)

grid(nx = NULL, ny = NULL, col = "#D7DBDD", lty = "dotted")


x_seq <- seq(min(datos_model$x), max(datos_model$x), length.out = 500)

predicciones <- predict(modelo, newdata = data.frame(x = x_seq), interval = "confidence", level = 0.95)

# Intervalo de Confianza
polygon(c(x_seq, rev(x_seq)), 
        c(predicciones[,"lwr"], rev(predicciones[,"upr"])),
        col = rgb(0.5, 0.5, 0.5, 0.2), border = NA) 


lines(x_seq, predicciones[,"fit"], col = "#E74C3C", lwd = 3)

legend("topleft", legend = c("Datos Reales", "Modelo Lineal", "I.C. 95%"), 
       col = c("#3498DB", "#E74C3C", "gray"), 
       pch = c(16, NA, 15), lwd = c(NA, 3, NA), pt.cex = c(0.7, NA, 2), bty = "n")

5 Resultados Estadísticos y Ecuación

5.1 Test de Pearson y Determinación

cat(paste0("**Coeficiente de Pearson (r):** ", round(r * 100, 4), "%<br>"))

Coeficiente de Pearson (r): 95.4433%

cat(paste0("**Coeficiente de Determinación (R²):** ", round(r2 * 100, 4), "%"))

Coeficiente de Determinación (R²): 91.0943%

5.2 Ecuación del Modelo

cat(paste0("La ecuación resultante es: **", ecuacion_txt, "**"))

La ecuación resultante es: y = 1.0371x +157.0330

6 Tabla Resumen del Modelo

tabla <- data.frame(
  Variable = c("Prof. Vertical", "Prof. Perforación"),
  Tipo = c("Independiente (X)", "Dependiente (Y)"),
  Pearson = c(paste0(round(r*100,2), "%"), ""),
  R2 = c(paste0(round(r2*100,2), "%"), ""),
  Intercepto = c(sprintf("%.4f", b), ""),
  Pendiente = c(sprintf("%.4f", m), ""),
  Ecuacion = c(ecuacion_txt, "")
)

tabla %>%
  gt() %>%
  tab_header(
    title = md("**RESUMEN DEL MODELO DE REGRESIÓN LINEAL**"),
    subtitle = "Parámetros y Bondad de Ajuste"
  ) %>%
  tab_source_note(source_note = "Fuente:  Grupo 3") %>%
  cols_align(align = "center", columns = everything()) %>%
  tab_style(
    style = list(cell_fill(color = "#2C3E50"), cell_text(color = "white", weight = "bold")),
    locations = cells_title()
  ) %>%
  tab_style(
    style = list(cell_fill(color = "#ECF0F1"), cell_text(weight = "bold", color = "#2C3E50")),
    locations = cells_column_labels()
  ) %>%
  tab_options(
    table.border.top.color = "#2C3E50",
    table.border.bottom.color = "#2C3E50",
    data_row.padding = px(8)
  )
RESUMEN DEL MODELO DE REGRESIÓN LINEAL
Parámetros y Bondad de Ajuste
Variable Tipo Pearson R2 Intercepto Pendiente Ecuacion
Prof. Vertical Independiente (X) 95.44% 91.09% 157.0330 1.0371 y = 1.0371x +157.0330
Prof. Perforación Dependiente (Y)
Fuente: Grupo 3

7 Conclusiones

texto_conclusion <- paste0(
  "Entre la profundidad vertical y la profundidad de perforación existe una relación de tipo **lineal** ",
  "cuya ecuación matemática está representada por **", ecuacion_txt, "**, ",
  "siendo 'x' la profundidad vertical en m y 'y' la profundidad de perforación en m ",
  "donde no existen restricciones. <br><br>",
  "Por ejemplo, para una profundidad vertical de **", x_ejemplo, " m** ",
  "se estima una profundidad de perforación de **", round(y_ejemplo, 2), " m**."
)

cat(texto_conclusion)

Entre la profundidad vertical y la profundidad de perforación existe una relación de tipo lineal cuya ecuación matemática está representada por y = 1.0371x +157.0330, siendo ‘x’ la profundidad vertical en m y ‘y’ la profundidad de perforación en m donde no existen restricciones.

Por ejemplo, para una profundidad vertical de 3000 m se estima una profundidad de perforación de 3268.32 m.