Un geólogo está investigando si existe una relación lineal entre la profundidad de un depósito mineral (𝑥, en metros) y la concentración de hierro (𝑦, en porcentaje).Los datos obtenidos son los siguientes: Profundidad (𝑥) Concentración de hierro (𝑦) 10 2.5 20 3.1 30 4.2 40 5.0 50 5.8 Se busca encontrar la ecuación de la regresión lineal simple para predecir la concentración de hierro a partir de la profundidad y realizar una predicción para una profundidad de 35 metros.
Se define los datos proporcionados de profundidad y concentración de hierro.
profundidad <- c(10, 20, 30, 40, 50) # Profundidad en metros (x)
concentracion_hierro <- c(2.5, 3.1, 4.2, 5.0, 5.8) # Concentración de hierro (%) (y)
Se utiliza la función lm() para ajustar un modelo lineal.
modelo <- lm(concentracion_hierro ~ profundidad)
# Resumen del modelo
summary(modelo)
##
## Call:
## lm(formula = concentracion_hierro ~ profundidad)
##
## Residuals:
## 1 2 3 4 5
## 0.08 -0.17 0.08 0.03 -0.02
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.570000 0.125565 12.50 0.001103 **
## profundidad 0.085000 0.003786 22.45 0.000193 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1197 on 3 degrees of freedom
## Multiple R-squared: 0.9941, Adjusted R-squared: 0.9921
## F-statistic: 504.1 on 1 and 3 DF, p-value: 0.0001935
Se obtiene la pendiente (𝑚) y la intersección (𝑏).
m <- coef(modelo)[2] # Pendiente
b <- coef(modelo)[1] # Intersección
cat("Ecuación de la recta: y =", m, "* x +", b, "\n")
## Ecuación de la recta: y = 0.085 * x + 1.57
Se realiza la predicción para una profundidad de 35 metros utilizando la función predict().
nueva_profundidad <- data.frame(profundidad = 35)
prediccion <- predict(modelo, nueva_profundidad)
cat("Concentración de hierro estimada a una profundidad de 35 m es:", prediccion, "%\n")
## Concentración de hierro estimada a una profundidad de 35 m es: 4.545 %
Se crea una gráfica con los datos originales, la recta de regresión ajustada, y la predicción.
plot(profundidad, concentracion_hierro, pch = 16, col = "blue",
xlab = "Profundidad (m)", ylab = "Concentración de hierro (%)",
main = "Relación entre Profundidad y Concentración de Hierro")
abline(modelo, col = "red", lwd = 2) # Línea de regresión
points(35, prediccion, col = "green", pch = 16) # Punto de predicción
legend("topleft", legend = c("Datos", "Recta de regresión", "Predicción"),
col = c("blue", "red", "green"), pch = c(16, NA, 16), lty = c(NA, 1, NA))