# Cargar librerías
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.2 ✔ tibble 3.2.1
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.0.4
## ── 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
# Cargar base de datos
MAIZ_FERTILIZANTE <- read_csv("MAIZ_FERTILIZANTE.csv")
## Rows: 50 Columns: 2
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (2): DOSIS_N, DIAMETRO_TALLO
##
## ℹ 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.
# Ver las primeras filas
head(MAIZ_FERTILIZANTE)
## # A tibble: 6 × 2
## DOSIS_N DIAMETRO_TALLO
## <dbl> <dbl>
## 1 0 8.37
## 2 0 11.5
## 3 0 10.4
## 4 0 7.74
## 5 0 9.13
## 6 0 12.5
# Dimensiones de la base (filas x columnas)
dim(MAIZ_FERTILIZANTE)
## [1] 50 2
# Nombres de variables
names(MAIZ_FERTILIZANTE)
## [1] "DOSIS_N" "DIAMETRO_TALLO"
# Resumen de variables
summary(MAIZ_FERTILIZANTE)
## DOSIS_N DIAMETRO_TALLO
## Min. : 0 Min. : 6.36
## 1st Qu.: 50 1st Qu.:14.34
## Median :100 Median :16.92
## Mean :100 Mean :16.02
## 3rd Qu.:150 3rd Qu.:18.71
## Max. :200 Max. :21.59
# Ver estructura completa
str(MAIZ_FERTILIZANTE)
## spc_tbl_ [50 × 2] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ DOSIS_N : num [1:50] 0 0 0 0 0 0 0 0 0 0 ...
## $ DIAMETRO_TALLO: num [1:50] 8.37 11.5 10.42 7.74 9.13 ...
## - attr(*, "spec")=
## .. cols(
## .. DOSIS_N = col_double(),
## .. DIAMETRO_TALLO = col_double()
## .. )
## - attr(*, "problems")=<externalptr>
# Gráfico de dispersión: Diámetro del tallo vs Dosis de N
ggplot(MAIZ_FERTILIZANTE, aes(x = DOSIS_N, y = DIAMETRO_TALLO)) +
geom_point(size = 3, alpha = 0.7, color = "darkgreen") +
labs(title = "Relación entre Dosis de N y Diámetro del Tallo en Maíz",
x = "Dosis de N (kg/ha)",
y = "Diámetro del tallo (mm)") +
theme_minimal()
modelo_lineal <- lm(DIAMETRO_TALLO ~ DOSIS_N, data = MAIZ_FERTILIZANTE)
# Resumen del modelo lineal
summary(modelo_lineal)
##
## Call:
## lm(formula = DIAMETRO_TALLO ~ DOSIS_N, data = MAIZ_FERTILIZANTE)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.5481 -1.5960 0.2347 1.4300 4.3449
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 11.908075 0.598242 19.905 < 2e-16 ***
## DOSIS_N 0.041118 0.004885 8.418 5.18e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.442 on 48 degrees of freedom
## Multiple R-squared: 0.5962, Adjusted R-squared: 0.5878
## F-statistic: 70.86 on 1 and 48 DF, p-value: 5.182e-11
modelo_cuadratico <- lm(DIAMETRO_TALLO ~ DOSIS_N + I(DOSIS_N^2),
data = MAIZ_FERTILIZANTE)
# Resumen del modelo cuadrático
summary(modelo_cuadratico)
##
## Call:
## lm(formula = DIAMETRO_TALLO ~ DOSIS_N + I(DOSIS_N^2), data = MAIZ_FERTILIZANTE)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.2288 -1.1872 -0.1897 1.3319 3.3898
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.9979513 0.5467262 18.287 < 2e-16 ***
## DOSIS_N 0.1175233 0.0129528 9.073 6.71e-12 ***
## I(DOSIS_N^2) -0.0003820 0.0000621 -6.151 1.59e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.837 on 47 degrees of freedom
## Multiple R-squared: 0.7763, Adjusted R-squared: 0.7668
## F-statistic: 81.54 on 2 and 47 DF, p-value: 5.224e-16
# Coeficientes modelo lineal
coef_lineal <- coef(modelo_lineal)
coef_lineal
## (Intercept) DOSIS_N
## 11.90807482 0.04111832
# Ecuación ajustada (lineal)
ecuacion_lineal <- paste0("DIAMETRO_TALLO = ",
round(coef_lineal[1], 3), " + ",
round(coef_lineal[2], 3), " * DOSIS_N")
ecuacion_lineal
## [1] "DIAMETRO_TALLO = 11.908 + 0.041 * DOSIS_N"
Ecuación del modelo:
DIAMETRO_TALLO= 11.908 + 0.041 * DOSIS_N
Interpretación:
Intercepto (11.908): Es el valor estimado del diámetro del tallo cuando la dosis de nitrógeno es cero.
Pendiente (0.041): Por cada unidad adicional de dosis de nitrógeno, se espera que el diámetro del tallo aumente 0.041 unidades, manteniendo la relación lineal constante.
# Coeficientes modelo cuadrático
coef_cuad <- coef(modelo_cuadratico)
coef_cuad
## (Intercept) DOSIS_N I(DOSIS_N^2)
## 9.9979513105 0.1175232637 -0.0003820247
# Ecuación ajustada (cuadrática)
ecuacion_cuad <- paste0("DIAMETRO_TALLO = ",
round(coef_cuad[1], 3), " + ",
round(coef_cuad[2], 3), " * DOSIS_N + ",
round(coef_cuad[3], 6), " * DOSIS_N^2")
ecuacion_cuad
## [1] "DIAMETRO_TALLO = 9.998 + 0.118 * DOSIS_N + -0.000382 * DOSIS_N^2"
Ecuación del modelo:
DIAMETRO_TALLO = 9.998 + 0.118 * DOSIS_N − 0.000382 * DOSIS_N^2
Interpretación:
Intercepto (9.998): Valor estimado del diámetro del tallo cuando la dosis de nitrógeno es cero.
Coeficiente lineal (0.118): Inicialmente, por cada unidad adicional de DOSIS_N, el diámetro del tallo aumenta aproximadamente 0.118 unidades.
Coeficiente cuadrático (-0.000382): La relación no es lineal; este término negativo indica que el efecto del nitrógeno se va desacelerando a dosis más altas, generando una curva con forma de concavidad hacia abajo (efecto de saturación).
En otras palabras, a bajas dosis de nitrógeno el diámetro aumenta, pero a medida que la dosis sigue creciendo, el aumento se vuelve más lento e incluso podría llegar a estabilizarse o disminuir levemente.
# R² ajustado modelo lineal
summary(modelo_lineal)$adj.r.squared
## [1] 0.5877542
# R² ajustado modelo cuadrático
summary(modelo_cuadratico)$adj.r.squared
## [1] 0.7667618
# AIC y BIC para ambos modelos
AIC(modelo_lineal); BIC(modelo_lineal)
## [1] 235.1473
## [1] 240.8834
AIC(modelo_cuadratico); BIC(modelo_cuadratico)
## [1] 207.6167
## [1] 215.2648
# Resumen de métricas
comparacion_modelos <- tibble(
Modelo = c("Lineal", "Cuadrático"),
R2_Ajustado = c(summary(modelo_lineal)$adj.r.squared,
summary(modelo_cuadratico)$adj.r.squared),
AIC = c(AIC(modelo_lineal), AIC(modelo_cuadratico)),
BIC = c(BIC(modelo_lineal), BIC(modelo_cuadratico))
)
comparacion_modelos
## # A tibble: 2 × 4
## Modelo R2_Ajustado AIC BIC
## <chr> <dbl> <dbl> <dbl>
## 1 Lineal 0.588 235. 241.
## 2 Cuadrático 0.767 208. 215.
_El modelo lineal presenta un ajuste moderado con un R² ajustado de 0.588, indicando que explica alrededor del 59% de la variabilidad de la variable dependiente. Sin embargo, sus valores de AIC (235.15) y BIC (240.88) son relativamente altos, lo que sugiere que no es el modelo más eficiente
_El modelo cuadrático mejora el ajuste, con un R² ajustado de 0.767, mostrando una mayor capacidad explicativa por lo que es el más apropiado para describir la relación entre dosis de N y diámetro del tallo. Además, sus valores de AIC (207.62) y BIC (215.26) son significativamente más bajos que los del modelo lineal, lo que indica que este modelo es más eficiente estadísticamente a pesar de introducir un parámetro adicional (el término al cuadrado).
_La incorporación del término cuadrático permite capturar posibles relaciones no lineales entre las variables, pero agrega complejidad al modelo.
Si el objetivo principal es maximizar la capacidad explicativa y describir patrones potencialmente no lineales, el modelo cuadrático es la mejor opción.
Si se busca un modelo más simple y fácil de interpretar, el modelo lineal puede ser aceptable, aunque con menor poder explicativo y mayor AIC/BIC.
En contextos aplicados donde se requiere interpretar los resultados directamente en las unidades originales y se puede tolerar un leve aumento de complejidad, el modelo cuadrático se recomienda por su equilibrio entre ajuste y eficiencia estadística.
ggplot(MAIZ_FERTILIZANTE, aes(x = DOSIS_N, y = DIAMETRO_TALLO)) +
geom_point(size = 3, alpha = 0.7, color = "darkgreen") +
geom_smooth(method = "lm", formula = y ~ x, se = FALSE,
color = "blue", size = 1.2) + # Lineal
geom_smooth(method = "lm", formula = y ~ poly(x, 2, raw = TRUE), se = FALSE,
color = "red", size = 1.2) + # Cuadrático
labs(title = "Modelos ajustados: Lineal (azul) y Cuadrático (rojo)",
x = "Dosis de N (kg/ha)",
y = "Diámetro del tallo (mm)") +
theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Descripción del grafico
El gráfico muestra la relación entre la dosis de nitrógeno (N, en kg/ha) y el diámetro del tallo (mm) en plantas. En el eje X se ubica la dosis de N aplicada (0, 50, 100, 150 y 200 kg/ha). En el eje Y se representa el diámetro del tallo (mm). Los puntos verdes corresponden a los valores observados en cada dosis. Se comparan dos modelos de ajuste: _Modelo lineal (línea azul): muestra un incremento constante del diámetro del tallo a medida que aumenta la dosis de N. _Modelo cuadrático (línea roja): refleja una respuesta inicial positiva hasta aproximadamente 150 kg/ha, donde el diámetro del tallo alcanza un máximo, y luego tiende a estabilizarse o decrecer ligeramente a los 200 kg/ha. En conjunto, el gráfico indica que el diámetro del tallo aumenta con la fertilización nitrogenada, aunque el modelo cuadrático sugiere que existe un punto de saturación a partir del cual dosis mayores no generan aumentos significativos, e incluso podrían reducir ligeramente el crecimiento.
# Crear un nuevo dataset con la dosis de interés
nueva_dosis <- data.frame(DOSIS_N = 125)
# Predicción con el modelo lineal
pred_lineal <- predict(modelo_lineal, newdata = nueva_dosis, interval = "confidence")
# Predicción con el modelo cuadrático
pred_cuad <- predict(modelo_cuadratico, newdata = nueva_dosis, interval = "confidence")
# Resultados
list(
"Predicción Modelo Lineal" = pred_lineal,
"Predicción Modelo Cuadrático" = pred_cuad
)
## $`Predicción Modelo Lineal`
## fit lwr upr
## 1 17.04787 16.31128 17.78446
##
## $`Predicción Modelo Cuadrático`
## fit lwr upr
## 1 18.71922 17.94071 19.49773
Interpretación:
El modelo cuadrático (18.71 mm) predice un diámetro ligeramente mayor que el lineal (17.04 mm) para una dosis de nitrogeno de 125 kg/ha, lo que indica que el crecimiento del tallo podría estar empezando a desacelerarse a dosis altas (efecto curvatura del modelo cuadrático).