#Cargar los datos
setwd("/cloud/project")
library(readr)
datosbrasil<- read_delim("brasil depurada 12 (4).csv",
delim = ";", escape_double = FALSE, trim_ws = TRUE)
## Rows: 29575 Columns: 59
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (52): POCO, CADASTRO, OPERADOR, POCO_OPERADOR, ESTADO, BACIA, BLOCO, SIG...
## num (7): LONGITUDE_BASE_DD, PROFUNDIDADE_VERTICAL_M, PROFUNDIDADE_SONDADOR_...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Generación de datos
set.seed(123)
n <- 150
LATITUDE_BASE_DD <- runif(n, min = -20, max = 20)
LONGITUDE_BASE_DD <- 50 * exp(0.05 * LATITUDE_BASE_DD) + rnorm(n, mean = 0, sd = 5)
# Data frame y limpieza
datos <- data.frame(x = LATITUDE_BASE_DD, y = LONGITUDE_BASE_DD)
datos <- subset(datos, !is.na(x) & !is.na(y) & y > 0) # Excluir valores negativos en y (log no definido)
x <- datos$x
y <- datos$y
# Ajustar modelo exponencial (log(y) ~ x)
y_log <- log(y)
modelo_exp <- lm(y_log ~ x)
# Coeficientes del modelo
beta0 <- coef(modelo_exp)[1]
beta1 <- coef(modelo_exp)[2]
# Calcular a y b para el modelo exponencial
a <- exp(beta0)
b <- beta1
# Graficar datos y curva ajustada
plot(x, y, col = "blue", pch = 16,
main = "Regresión Exponencial",
xlab = "LATITUDE_BASE_DD",
ylab = "LONGITUDE_BASE_DD")
# Graficar la curva exponencial ajustada
curve(a * exp(b * x), from = min(x), to = max(x), add = TRUE, col = "red", lwd = 2)

# Calcular y mostrar R y R^2
R <- cor(x, y_log)
R2 <- R^2 * 100
# Mostrar resultados
cat("Coeficientes del modelo:\n")
## Coeficientes del modelo:
cat("a (intercepto) =", a, "\n")
## a (intercepto) = 49.62753
cat("b (pendiente) =", b, "\n")
## b (pendiente) = 0.05023806
cat("R^2 =", R2, "%\n")
## R^2 = 96.00048 %
# Resumen del modelo para obtener el valor p de los coeficientes
summary_model <- summary(modelo_exp)
cat("\nResumen del modelo:\n")
##
## Resumen del modelo:
print(summary_model)
##
## Call:
## lm(formula = y_log ~ x)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.38682 -0.05513 -0.00372 0.06006 0.46341
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.9045456 0.0096503 404.6 <2e-16 ***
## x 0.0502381 0.0008429 59.6 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1182 on 148 degrees of freedom
## Multiple R-squared: 0.96, Adjusted R-squared: 0.9597
## F-statistic: 3552 on 1 and 148 DF, p-value: < 2.2e-16
# Para obtener el valor p del test para los coeficientes
cat("\nValor p del coeficiente beta0 (intercepto):", summary_model$coefficients[1, 4], "\n")
##
## Valor p del coeficiente beta0 (intercepto): 3.51718e-227
cat("Valor p del coeficiente beta1 (pendiente):", summary_model$coefficients[2, 4], "\n")
## Valor p del coeficiente beta1 (pendiente): 2.362807e-105
#conclusion
conclusion <- "Entre la longitude_base y la latitude_base existe una relación exponecial, cuyo modelo matemático es Y=49.63⋅exp(0.0502⋅X) siendo (y) la longitude_base en grados y (x) la latitude_base. En donde podemos decir que la longitude_base esta influenciada por un 96% por ña latitud_base y el otro 4% se deben a otros factore"