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"
correlacion <- cor(datos_suelo$nitro,
datos_suelo$carbon,
use = "complete.obs")
r_cuadrado <- correlacion*correlacion
correlacion
## [1] 0.963287
r_cuadrado
## [1] 0.9279219
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.
# 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'
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.
# 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
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.
# 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
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.