Regresión lineal simple (suelos)

David Márquez Domínguez - 30000071320

Punto 1:

1. Carga y exploración inicial de los datos

library(readxl)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.2.1     ✔ readr     2.2.0
## ✔ forcats   1.0.1     ✔ stringr   1.6.0
## ✔ ggplot2   4.0.3     ✔ tibble    3.3.1
## ✔ lubridate 1.9.5     ✔ tidyr     1.3.2
## ✔ purrr     1.2.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(agriutilities)
library(ggplot2)

# Cargar datos del archivo excel
datos_suelo <- read_excel("waynick_soil.xlsx")

# Visualizar el dataframe
head(datos_suelo)
## # A tibble: 6 × 6
##   field sample     x     y nitro carbon
##   <chr>  <dbl> <dbl> <dbl> <dbl>  <dbl>
## 1 Davis      1     0   210 0.104  1.17 
## 2 Davis      2     0   180 0.086  1.05 
## 3 Davis      3     0   150 0.08   0.958
## 4 Davis      4     0   120 0.092  1.07 
## 5 Davis      5     0    90 0.099  1.07 
## 6 Davis      6     0    60 0.098  1.13
# Desplegar los nombres de las columnas del dataframe
names(datos_suelo)
## [1] "field"  "sample" "x"      "y"      "nitro"  "carbon"

2. Cálculo e interpretación de la correlación

correlacion <- cor(datos_suelo$nitro,
                    datos_suelo$carbon,
                    use = "complete.obs")
r_cuadrado <- correlacion*correlacion

correlacion
## [1] 0.963287
r_cuadrado
## [1] 0.9279219

Conclusión

Se encontró una correlación positiva muy fuerte entre el contenido de nitrógeno y carbono del suelo (r = 0.963). Esto indica que, a medida que aumenta el nitrógeno en las muestras de suelo, también tiende a aumentar el carbono de manera casi proporcional. La magnitud del coeficiente indica una relación lineal altamente consistente entre ambas variables.

Además el coeficiente de determinación (r cuadrado = 0.928), indica que aproximadamente el 92.8% de la variación observada entre las variables puede ser explicada de manera lineal por la otra.

3. Gráfico de dispersión (ggplot2)

# Diagrama de dispersión con regresión

ggplot(datos_suelo, aes(x = carbon, y = nitro)) +
  geom_point(color = "blue") +
  geom_smooth(method = "lm", se = TRUE, color = "red") +
  labs(title = "Relación entre C y N",
       x = "Carbono (C)",
       y = "Nitrógeno (N)") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

Conclusión

La gráfica de dispersión por puntos indica una clara relación positiva entre los valores del carbono (C) y el nitrógeno (N), de manera que, a medida que los valores de C son cada vez mayores, los valores de N también tienden a ser mayores.

Los puntos de la gráfica alrededor de la línea de regresión indican que hay una relación fuerte entre las dos variables, con una tendencia lineal muy definida y una baja dispersión relativa. Esto implica que el modelo de regresión lineal es adecuado para describir la relación entre el nitrógeno y la materia orgánica.

La gráfica indica que el carbono es un buen factor pronosticador del nitrógeno en el suelo.

4. Ajuste de modelo de regresión lineal

# 3. Modelo de regresión
modelo_C_N <- lm(carbon ~ nitro, data = datos_suelo)
summary(modelo_C_N)
## 
## Call:
## lm(formula = carbon ~ nitro, data = datos_suelo)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.19877 -0.04211 -0.01243  0.03057  0.93390 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.10534    0.01502   7.015 3.56e-11 ***
## nitro       10.08169    0.19969  50.488  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.09873 on 198 degrees of freedom
## Multiple R-squared:  0.9279, Adjusted R-squared:  0.9276 
## F-statistic:  2549 on 1 and 198 DF,  p-value: < 2.2e-16
# Mostrar coeficientes (ecuación)
coef(modelo_C_N)
## (Intercept)       nitro 
##   0.1053365  10.0816895

Conclusión

La ecuación de ajuste resultó de la siguiente forma, C = 0.1053 + 10.0817·N, que muestra la relación lineal entre el C y el N. El intercepto es lo suficientemente indicativo como para afirmar que si el C = 0, el N tendrá un valor de 0.1053.

Por otro lado, el coeficiente asociado al N indica que el incremento de C será de 10.0817 unidades adicionales por cada unidad de N que se aplique, lo que indica como se comporta la relación entre las variables N y MO.

En este sentido, la ecuación permite estimar valores de C a partir de los datos del N, por lo que puede considerarse como una herramienta muy útil para la predicción entre los datos analizados. Sin embargo hay que tener en cuenta que el modelo ofrecido en este caso solo tiene en cuenta el nitrógeno (N) como único factor determinante en los valores del carbono, por lo que para desarrollar un modelo más completo se deben tener en cuenta más variables que puedan ser significativas en comparación a la variabilidad de C.

5. Análisis de varianza de regresión

# 4. ANOVA
anova(modelo_C_N)
## Analysis of Variance Table
## 
## Response: carbon
##            Df Sum Sq Mean Sq F value    Pr(>F)    
## nitro       1 24.847 24.8471    2549 < 2.2e-16 ***
## Residuals 198  1.930  0.0097                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Conclusión

El análisis de varianza (ANOVA) muestra que el modelo de regresión es altamente significativo (F = 2549; p < 2.2e-16). Esto es indicativo de que el contenido de nitrógeno (N) tiene un efecto estadísticamente significativo sobre el contenido de carbono (C).

Adicionalmente, el R² indicada por el modelo en comparación con los residuos indica que una alta proporción de la variabilidad de C es explicada por el nitrógeno, de forma que se concluye que el modelo lineal ajustado es adecuado para describir la relación entre estas variables.