Instalamos paquetes

# Instalamos los paquetes (solo ejecutar una vez desde la consola)
install.packages("readxl")
install.packages("tidyverse")
install.packages("lmtest")
install.packages("PerformanceAnalytics")

Los paquetes utilizados

library(readxl)
library(tidyverse)
library(lmtest)
library(PerformanceAnalytics)

A - Exploración de datos

NITROGENO <-read_excel("C:/Users/gecon/Documents/Año 2025/Diplomatura en bioestadistica/MODULO VI/NITROGENO.xlsx")
NITROGENO
## # A tibble: 12 × 3
##    REPETICION PROFUNDIDAD NITROGENO
##         <dbl>       <dbl>     <dbl>
##  1          1          20      0.09
##  2          2          20      0.08
##  3          3          20      0.13
##  4          4          20      0.11
##  5          1          40      0.06
##  6          2          40      0.08
##  7          3          40      0.09
##  8          4          40      0.09
##  9          1          60      0.04
## 10          2          60      0.05
## 11          3          60      0.04
## 12          4          60      0.06
head(NITROGENO)
## # A tibble: 6 × 3
##   REPETICION PROFUNDIDAD NITROGENO
##        <dbl>       <dbl>     <dbl>
## 1          1          20      0.09
## 2          2          20      0.08
## 3          3          20      0.13
## 4          4          20      0.11
## 5          1          40      0.06
## 6          2          40      0.08

Analisis descriptivo

ggplot(NITROGENO,aes(PROFUNDIDAD,NITROGENO))+
  geom_point()

ggplot(NITROGENO,aes(PROFUNDIDAD,NITROGENO))+
  geom_point(shape = 17, size= 4, alpha= 1.0) +
  labs(x = "PROFUNDIDAD",
       y = "NITROGENO") +
  theme_minimal()

ggplot(NITROGENO,aes(PROFUNDIDAD,NITROGENO,colour=NITROGENO ))+
  geom_point(shape = 17, size= 4, alpha= 1.0) +
  labs(x = "PROFUNDIDAD",
       y = "NITROGENO") +
  theme_minimal()

Se Observa una tendencia con pendiente negativa.

B- Análisis de Correlación

names(NITROGENO)
## [1] "REPETICION"  "PROFUNDIDAD" "NITROGENO"

4 - Coeficiente de correlación de Pearson

cor(NITROGENO[2:3])
##             PROFUNDIDAD  NITROGENO
## PROFUNDIDAD   1.0000000 -0.8453206
## NITROGENO    -0.8453206  1.0000000

El valor del coeficiente de correlación es de -0,84 La correlación entre nitrógeno y profundidad es alta y negativa. Es decir, a medida que aumenta la profundidad el contenido de nitrogeno disminuye.

5- Significancia estadística del coeficiente de correlación

# Paquete PerformanceAnalytics
chart.Correlation(NITROGENO [2:3], histogram = TRUE, method = "pearson")

Relación entre la NITROGENO y PROFUNDIDAD

Supuestos

Se verifica el cumplimiento de los supuestos. En primer lugar el supuesto de distribución Normal de las variables (Normalidad).

H0: Se cumple el supuesto de Normalidad

H1: No se cumple el supuesto de Normalidad

shapiro.test(NITROGENO$PROFUNDIDAD)
## 
##  Shapiro-Wilk normality test
## 
## data:  NITROGENO$PROFUNDIDAD
## W = 0.81079, p-value = 0.01246
shapiro.test(NITROGENO$NITROGENO)
## 
##  Shapiro-Wilk normality test
## 
## data:  NITROGENO$NITROGENO
## W = 0.94544, p-value = 0.5716

#En el caso de la prueba de normalidad para las variables Nitrogeno, con un p> a 0,05 podriamos aceptar la Ho. #Pero para la variable Profundidad, el p< a 0,05 con lo que se puede afirmar que no tiene una distribución normal.

Correlación de Pearson

H0: \(\rho\) = 0
H1: \(\rho\) ≠ 0

cor.test(NITROGENO$PROFUNDIDAD, 
         NITROGENO$NITROGENO, 
         method = "pearson", 
         conf.level = 0.99)
## 
##  Pearson's product-moment correlation
## 
## data:  NITROGENO$PROFUNDIDAD and NITROGENO$NITROGENO
## t = -5.0034, df = 10, p-value = 0.0005346
## alternative hypothesis: true correlation is not equal to 0
## 99 percent confidence interval:
##  -0.9703433 -0.3635037
## sample estimates:
##        cor 
## -0.8453206

Los resultados son: t = 5.0034 (Valor del estadístico de prueba)

df = 10 grados de libertad

p-value = 0.0005346

cor = -0.8453206 (coeficiente de correlación r)

IC 99%: [0.36 ; 0.97] (intervalo de confianza al 99% para la correlación muestral)

###Una de las variables no cumple con los supuestos, por eso se aplicara la prueba de correlación lineal de Spearman

H0: ρ = 0 H1: ρ ≠ 0

cor.test(NITROGENO$NITROGENO,NITROGENO$PROFUNDIDAD, method = "spearman", conf.level = 0.99)
## Warning in cor.test.default(NITROGENO$NITROGENO, NITROGENO$PROFUNDIDAD, :
## Cannot compute exact p-value with ties
## 
##  Spearman's rank correlation rho
## 
## data:  NITROGENO$NITROGENO and NITROGENO$PROFUNDIDAD
## S = 525.71, p-value = 0.0006619
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##        rho 
## -0.8381581

#Analicemos los resultados:

S = 525,71 (valor del estadístico de prueba para Spearman)

p-value = 0.0006619

rho = -0.8381581 (coeficiente de correlación de Spearman)

La correlación es alta y negativa, es decir, al aumentar el contenido de Nitrogeno total disminuira la profundidad, o viceversa.

C. Ajuste del Modelo de Regresión

ggplot(NITROGENO, aes(PROFUNDIDAD,NITROGENO)) +
  geom_point(size= 2.5, alpha= 0.6) +
  geom_smooth(method = "lm", se=FALSE) # geom_smooth: agrega una línea de suavizado
## `geom_smooth()` using formula = 'y ~ x'

La recta de la dispersion es negativa, lo que muestra al aumentar la profundidad, el contenido total de nitrogeno va disminuyendo.

REGRESION_NITROGENO <- lm(NITROGENO$NITROGENO ~ NITROGENO$PROFUNDIDAD)
REGRESION_NITROGENO
## 
## Call:
## lm(formula = NITROGENO$NITROGENO ~ NITROGENO$PROFUNDIDAD)
## 
## Coefficients:
##           (Intercept)  NITROGENO$PROFUNDIDAD  
##              0.131667              -0.001375

6 - Modelo de Regresión lineal

y=0.131667 -0.001375 X

7 - Es decir:

Contenido de Nitrogeno total = 0.131667 - 0.001375 profundidad

Cuando la profundidad es menor el contenido de Nitrogeno total tiene valores mas altos.

Resumen estadístico del modelo

summary(REGRESION_NITROGENO)
## 
## Call:
## lm(formula = NITROGENO$NITROGENO ~ NITROGENO$PROFUNDIDAD)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.024167 -0.010417  0.002083  0.011458  0.025833 
## 
## Coefficients:
##                         Estimate Std. Error t value Pr(>|t|)    
## (Intercept)            0.1316667  0.0118732  11.089 6.11e-07 ***
## NITROGENO$PROFUNDIDAD -0.0013750  0.0002748  -5.003 0.000535 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.01555 on 10 degrees of freedom
## Multiple R-squared:  0.7146, Adjusted R-squared:  0.686 
## F-statistic: 25.03 on 1 and 10 DF,  p-value: 0.0005346

8- Significancia estadística del coeficiente de la pendiente (β) .

Por cada unidad de profundidad que aumenta el contenido de Nitrogeno total disminuye 0,13.

9 - Interpretación del coeficiente de determinación (R2)

R2 = 0.686 La profundida explica el 68% de la variabilidad del contenido total de Nitrogeno.

D - Diagnostico del modelo

#Usamos la función plot
par(mfrow=c(2,2)) # permite visualizar los gráficos de residuos en una sola imagen
plot(REGRESION_NITROGENO)

1. Residuals vs Fitted (Residuos vs Valores ajustados)

La mayoría de los puntos están bien distribuidos, pero hay cierta curvatura leve (linea roja). Esto podría indicar una posible ligera no linealidad o heterocedasticidad.

  1. Q-Q Residuals (Q-Q plot de Residuos)

Casi todos los puntos están bien alineados. Esto indica que los residuos son aproximadamente normales.

  1. Scale-Location (Valores ajustados vs Residuos estandarizados)

Hay una leve tendencia creciente, lo que sugiere una posible heterocedasticidad, la mayoría están concentrados alrededor de 1, lo cual es aceptable.

  1. Residuals vs Leverage (Residuos estandarizados vs Leverage) La mayoría de los puntos tiene bajo leverage (cercano a 0).

E - Predicción

Nitrogeno_total= 0.131667 -0.001375 * 50
Nitrogeno_total= 6.51

El valor del Nitrogeno total es 6,51 cuando la profundidad es de 50 cm.