Punto 1 – Datos Salinidad

Para estudiar la relación entre ciertas características del suelo y la producción de biomasa (gr) de una planta forrajera natural se obtuvieron 45 muestras en diferentes ambientes, y en cada muestra se estimó la biomasa (respuesta Y) y se registraron las características (covariables X) del suelo en el que crecía (pH, Salinidad, Zinc y Potasio).

library(ggplot2)

load("C:/Users/Estudiante/Downloads/Salinidad.RData")
print(ls())
## [1] "col_acento"      "col_primario"    "col_sage"        "col_secundario" 
## [5] "Salinidad"       "tarjeta_corr"    "tarjeta_resumen" "tema_informe"
str(Salinidad)
## 'data.frame':    45 obs. of  5 variables:
##  $ Biomasa  : num  765 954 828 755 896 ...
##  $ pH       : num  5 4.7 4.2 4.4 5.55 5.5 4.25 4.45 4.75 4.6 ...
##  $ Salinidad: int  33 35 32 30 33 33 36 30 38 30 ...
##  $ Zinc     : num  16.5 14 15.3 17.3 22.3 ...
##  $ Potasio  : num  1442 1299 1154 1045 522 ...

a. Realice un análisis exploratorio univariado para cada característica e interprete.

summary(Salinidad)
##     Biomasa             pH          Salinidad          Zinc        
##  Min.   : 369.8   Min.   :3.200   Min.   :24.00   Min.   : 0.2105  
##  1st Qu.: 654.8   1st Qu.:3.450   1st Qu.:27.00   1st Qu.:13.9852  
##  Median : 991.8   Median :4.450   Median :30.00   Median :19.2420  
##  Mean   :1082.2   Mean   :4.609   Mean   :30.27   Mean   :17.8308  
##  3rd Qu.:1346.9   3rd Qu.:5.350   3rd Qu.:33.00   3rd Qu.:22.6758  
##  Max.   :2337.3   Max.   :7.450   Max.   :38.00   Max.   :31.2865  
##     Potasio      
##  Min.   : 350.7  
##  1st Qu.: 527.0  
##  Median : 773.3  
##  Mean   : 797.4  
##  3rd Qu.: 954.1  
##  Max.   :1441.7
data.frame(
  Variable          = names(Salinidad)[1:5],
  Media             = round(sapply(Salinidad[1:5], mean), 2),
  Mediana           = round(sapply(Salinidad[1:5], median), 2),
  Desv_estandar     = round(sapply(Salinidad[1:5], sd), 2),
  Minimo            = round(sapply(Salinidad[1:5], min), 2),
  Maximo            = round(sapply(Salinidad[1:5], max), 2),
  IQR               = round(sapply(Salinidad[1:5], IQR), 2)
)
Variable Media Mediana Desv_estandar Minimo Maximo IQR
Biomasa Biomasa 1082.17 991.83 546.29 369.82 2337.33 692.06
pH pH 4.61 4.45 1.25 3.20 7.45 1.90
Salinidad Salinidad 30.27 30.00 3.72 24.00 38.00 6.00
Zinc Zinc 17.83 19.24 8.27 0.21 31.29 8.69
Potasio Potasio 797.38 773.30 297.58 350.73 1441.67 427.14

La tabla presenta las principales medidas descriptivas de las variables analizadas, incluyendo medidas de tendencia central y de dispersión. En términos generales, se observa variabilidad entre las muestras para las características del suelo y la biomasa. Para complementar esta descripción numérica, en los siguientes diagramas se presentan los histogramas y diagramas de caja de cada variable, los cuales permiten visualizar la distribución de los datos, su dispersión y la presencia de posibles valores atípicos.

Biomasa

1,082.17 gMedia
991.83 gMediana
546.29 gDesv. estándar
369.82 gMínimo
2,337.33 gMáximo
ggplot(Salinidad, aes(x = Biomasa)) +
  geom_histogram(bins = 7, fill = col_primario, color = "white") +
  labs(
    title = "Distribución de la biomasa",
    x = "Biomasa (g)",
    y = "Frecuencia"
  ) +
  tema_informe()

ggplot(Salinidad, aes(y = Biomasa)) +
  geom_boxplot(fill = col_sage, color = col_primario, outlier.color = col_secundario) +
  labs(
    title = "Distribución de la biomasa",
    y = "Biomasa (g)"
  ) +
  tema_informe()

La producción de biomasa varía considerablemente entre los ambientes estudiados, con valores entre 369,82 y 2337,33 g. La media (1082,17 g) es ligeramente mayor que la mediana (991,83 g), lo que indica una leve asimetría hacia valores altos. No se observan valores atípicos extremos.

pH

4.61Media
4.45Mediana
1.25Desv. estándar
3.20Mínimo
7.45Máximo
ggplot(Salinidad, aes(x = pH)) +
  geom_histogram(bins = 7, fill = col_primario, color = "white") +
  labs(
    title = "Distribución del pH en el suelo",
    x = "pH",
    y = "Frecuencia"
  ) +
  tema_informe()

ggplot(Salinidad, aes(y = pH)) +
  geom_boxplot(fill = col_sage, color = col_primario, outlier.color = col_secundario) +
  labs(
    title = "Distribución del pH en el suelo",
    y = "pH"
  ) +
  tema_informe()

El pH del suelo presenta valores entre 3,20 y 7,45, con una media de 4,61, lo que indica que predominan suelos ácidos en los ambientes estudiados. La variabilidad observada muestra que las condiciones de acidez no son iguales entre las muestras. No se observan valores atípicos extremos en el boxplot.

Salinidad

30.27Media
30.00Mediana
3.72Desv. estándar
24.00Mínimo
38.00Máximo
ggplot(Salinidad, aes(x = Salinidad)) +
  geom_histogram(bins = 7, fill = col_primario, color = "white") +
  labs(
    title = "Distribución de la salinidad del suelo",
    x = "Salinidad",
    y = "Frecuencia"
  ) +
  tema_informe()

ggplot(Salinidad, aes(y = Salinidad)) +
  geom_boxplot(fill = col_sage, color = col_primario, outlier.color = col_secundario) +
  labs(
    title = "Distribución de la salinidad del suelo",
    y = "Salinidad"
  ) +
  tema_informe()

La salinidad del suelo en los diferentes ambientes estudiados presentó valores entre 24 y 38, con una media de 30,27 y una mediana de 30. Esto indica que las condiciones de salinidad varían entre los ambientes donde crece la planta forrajera, aunque los valores se concentran alrededor de 30. La cercanía entre la media y la mediana sugiere una distribución relativamente equilibrada. No se observan valores atípicos evidentes.

Zinc

17.83Media
19.24Mediana
8.27Desv. estándar
0.21Mínimo
31.29Máximo
ggplot(Salinidad, aes(x = Zinc)) +
  geom_histogram(bins = 7, fill = col_primario, color = "white") +
  labs(
    title = "Distribución del zinc en el suelo",
    x = "Zinc",
    y = "Frecuencia"
  ) +
  tema_informe()

ggplot(Salinidad, aes(y = Zinc)) +
  geom_boxplot(fill = col_sage, color = col_primario, outlier.color = col_secundario) +
  labs(
    title = "Distribución del zinc en el suelo",
    y = "Zinc"
  ) +
  tema_informe()

La concentración de zinc en el suelo presentó valores entre 0,21 y 31,29, con una media de 17,83 y una mediana de 19,24. Esto indica que existe una variación considerable en la concentración de zinc entre los diferentes ambientes donde crece la planta forrajera. Se observa además un valor muy bajo (0,21) en comparación con el resto de las muestras, que se identifica como un posible valor atípico en el diagrama de caja.

Potasio

797.38Media
773.30Mediana
297.58Desv. estándar
350.73Mínimo
1,441.67Máximo
ggplot(Salinidad, aes(x = Potasio)) +
  geom_histogram(bins = 7, fill = col_primario, color = "white") +
  labs(
    title = "Distribución de potasio en el suelo",
    x = "Potasio",
    y = "Frecuencia"
  ) +
  tema_informe()

ggplot(Salinidad, aes(y = Potasio)) +
  geom_boxplot(fill = col_sage, color = col_primario, outlier.color = col_secundario) +
  labs(
    title = "Distribución de potasio en el suelo",
    y = "Potasio"
  ) +
  tema_informe()

La concentración de potasio en el suelo presentó valores entre 350,73 y 1441,67, con una media de 797,38 y una mediana de 773,30. Esto indica que existe una variación considerable en la disponibilidad de potasio entre los diferentes ambientes donde crece la planta forrajera. La media ligeramente superior a la mediana sugiere una leve asimetría hacia valores altos. No se observan valores atípicos evidentes en el diagrama de caja.

b. Realice un análisis exploratorio bivariado que permita conocer cómo es la relación entre la biomasa y las covariables pH, Salinidad y Zinc (determine cuáles variables son las que presentan mayor relación con la biomasa).

ggplot(Salinidad, aes(x = pH, y = Biomasa)) +
  geom_point(color = col_primario, alpha = 0.75, size = 2) +
  geom_smooth(method = "lm", se = TRUE, color = col_secundario, fill = col_acento, alpha = 0.15) +
  labs(
    title = "Relación entre pH y biomasa",
    x = "pH del suelo",
    y = "Biomasa (g)"
  ) +
  tema_informe()

Existe una fuerte relación lineal positiva; a medida que el suelo se vuelve menos ácido (aumenta el pH), la planta forrajera incrementa notablemente su producción de biomasa. Esto sugiere que el rango de pH más alto (neutro) ofrece las condiciones óptimas para la absorción de nutrientes y el desarrollo vegetal de esta especie.

ggplot(Salinidad, aes(x = Salinidad, y = Biomasa)) +
  geom_point(color = col_primario, alpha = 0.75, size = 2) +
  geom_smooth(method = "lm", se = TRUE, color = col_secundario, fill = col_acento, alpha = 0.15) +
  labs(
    title = "Relación entre salinidad y biomasa",
    x = "Salinidad del suelo",
    y = "Biomasa (g)"
  ) +
  tema_informe()

No existe una relación lineal entre ambas variables, reflejado en una línea de tendencia plana y puntos totalmente dispersos. En el rango evaluado, los niveles de salinidad del suelo no actúan como un factor limitante ni favorecedor para el rendimiento de la biomasa de esta forrajera.

ggplot(Salinidad, aes(x = Zinc, y = Biomasa)) +
  geom_point(color = col_primario, alpha = 0.75, size = 2) +
  geom_smooth(method = "lm", se = TRUE, color = col_secundario, fill = col_acento, alpha = 0.15) +
  labs(
    title = "Relación entre zinc y biomasa",
    x = "Zinc en el suelo",
    y = "Biomasa (g)"
  ) +
  tema_informe()

Muestra una fuerte relación lineal negativa. El incremento en la concentración de Zinc en el suelo provoca una caída drástica en la producción de biomasa, lo que indica que niveles altos de este elemento resultan perjudiciales o tóxicos para el crecimiento de la planta.

cor(Salinidad$Biomasa, Salinidad$pH)
## [1] 0.9281023
cor(Salinidad$Biomasa, Salinidad$Salinidad)
## [1] -0.06657756
cor(Salinidad$Biomasa, Salinidad$Zinc)
## [1] -0.7814625
pH
r = 0.928
Salinidad
r = -0.067
Zinc
r = -0.781

Tanto en los diagramas, como en la correlación se observa que la biomasa presenta una relación positiva muy fuerte con el pH del suelo (r = 0,928), lo que indica que, en estas muestras, los valores mayores de pH se asocian con mayores valores de biomasa. Por otro lado, la salinidad presenta una relación prácticamente nula con la biomasa (r = −0,067). Finalmente, el zinc presenta una relación negativa fuerte con la biomasa (r = −0,781), indicando que los valores mayores de zinc se asocian con menores valores de biomasa.

c. A partir de la variable que, según el literal (b), presenta mayor relación con la biomasa, categorícela en tres niveles (por ejemplo bajo/medio/alto, usando terciles u otro criterio que usted justifique) y evalúe mediante un ANOVA de una vía si el nivel de dicha variable genera diferencias significativas en la biomasa. Verifique los supuestos del modelo (normalidad de los residuales y homogeneidad de varianzas) y realice las comparaciones post-hoc pertinentes (prueba de LSD), interpretando cuáles niveles difieren entre sí.

cortes <- quantile(
  Salinidad$pH,
  probs = c(0, 1/3, 2/3, 1)
)

cortes
##        0% 33.33333% 66.66667%      100% 
##  3.200000  3.883333  4.900000  7.450000
Salinidad$pH_nivel <- cut(
  Salinidad$pH,
  breaks = cortes,
  include.lowest = TRUE,
  labels = c("Bajo", "Medio", "Alto")
)

table(Salinidad$pH_nivel)
## 
##  Bajo Medio  Alto 
##    15    15    15
aggregate(Biomasa ~ pH_nivel, data = Salinidad, 
          FUN = mean)
pH_nivel Biomasa
Bajo 593.0233
Medio 1048.1093
Alto 1605.3853
ggplot(Salinidad, aes(x = pH_nivel, y = Biomasa, fill = pH_nivel)) +
  geom_boxplot(color = col_primario) +
  scale_fill_manual(values = c(Bajo = col_sage, Medio = "#A9C6A0", Alto = col_primario), guide = "none") +
  labs(
    title = "Biomasa según nivel de pH",
    x = "Nivel de pH",
    y = "Biomasa (g)"
  ) +
  tema_informe()

Se observa una tendencia de aumento de la biomasa a medida que aumenta el nivel de pH. El nivel bajo presenta los valores de biomasa más bajos, mientras que el nivel alto presenta los valores más elevados. También se observa una mayor dispersión de los datos en los niveles medio y alto en comparación con el nivel bajo. En el nivel bajo se identifica un posible valor atípico. Estas diferencias visuales sugieren que la biomasa podría variar entre los niveles de pH; sin embargo, se requiere realizar el ANOVA y verificar para determinar si las diferencias son estadísticamente significativas.

modelo <- aov(Biomasa ~ pH_nivel, data = Salinidad)

summary(modelo)
##             Df  Sum Sq Mean Sq F value   Pr(>F)    
## pH_nivel     2 7712683 3856342   29.89 8.45e-09 ***
## Residuals   42 5418235  129006                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

El análisis de varianza mostró diferencias estadísticamente significativas en la producción de biomasa entre los tres niveles de pH (F(2,42) = 29,89; p < 0,001). Por lo tanto, existen diferencias en la biomasa promedio entre al menos dos de los niveles de pH. Las medias observadas fueron de 593,02 g para pH bajo, 1048,11 g para pH medio y 1605,39 g para pH alto. Para determinar entre qué niveles específicos se encuentran las diferencias se realiza a continuación una prueba pos-anova.

shapiro.test(residuals(modelo))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(modelo)
## W = 0.97316, p-value = 0.3749

La prueba de Shapiro-Wilk mostró que los residuales presentan una distribución compatible con la normalidad (W = 0,973; p = 0,375). Debido a que p > 0,05, no se rechaza el supuesto de normalidad de los residuales.

library(lawstat)

levene.test(Salinidad$Biomasa, Salinidad$pH_nivel)
## 
##  Modified robust Brown-Forsythe Levene-type test based on the absolute
##  deviations from the median
## 
## data:  Salinidad$Biomasa
## Test Statistic = 8.6753, p-value = 0.000702

La prueba de Levene tipo Brown-Forsythe mostró diferencias significativas entre las varianzas de los grupos (estadístico = 8,675; p < 0,001). Por lo tanto, se rechaza el supuesto de homogeneidad de varianzas.

oneway.test(Biomasa ~ pH_nivel, data = Salinidad, var.equal = FALSE)
## 
##  One-way analysis of means (not assuming equal variances)
## 
## data:  Biomasa and pH_nivel
## F = 34.727, num df = 2.000, denom df = 24.736, p-value = 6.58e-08

Debido a que no se cumplió el supuesto de homogeneidad de varianzas, se realizó un ANOVA de Welch y el análisis mostró diferencias estadísticamente significativas en la biomasa entre los niveles de pH (F(2, 24,736) = 34,727; p < 0,001). Por lo tanto, existen diferencias en la biomasa promedio entre al menos dos niveles de pH.

library(rstatix)

games_howell_test(Salinidad, Biomasa ~ pH_nivel)
.y. group1 group2 estimate conf.low conf.high p.adj p.adj.signif
Biomasa Bajo Medio 455.0859 264.9979 645.1739 0.0000098 ****
Biomasa Bajo Alto 1012.3620 632.5370 1392.1870 0.0000093 ****
Biomasa Medio Alto 557.2761 164.4401 950.1121 0.0050706 **

Debido a que no se cumplió el supuesto de homogeneidad de varianzas, evidenciado por la prueba de Levene/Brown-Forsythe (p = 0,000702), se seleccionó la prueba de Games-Howell como alternativa al LSD, ya que permite realizar comparaciones múltiples cuando las varianzas entre los grupos son desiguales. Se encontraron diferencias significativas entre los tres niveles de pH: bajo vs. medio (p < 0,001), bajo vs. alto (p < 0,001) y medio vs. alto (p = 0,005). Las medias de biomasa fueron de 593,02 g para el nivel bajo, 1048,11 g para el nivel medio y 1605,39 g para el nivel alto. En consecuencia, los tres niveles presentan diferencias significativas entre sí, con mayores valores promedio de biomasa a medida que aumenta el nivel de pH.

Conclusión general — Punto 1

De las cuatro covariables del suelo evaluadas, el pH es, con diferencia, el factor que mejor explica la producción de biomasa de esta forrajera: presentó la correlación más fuerte de todo el análisis bivariado (r = 0,928) y, al categorizarlo en niveles bajo/medio/alto, el ANOVA (y su versión robusta de Welch, dado el incumplimiento de homogeneidad de varianzas) confirmó diferencias significativas entre los tres niveles, con Games-Howell mostrando que cada nivel difiere de los otros dos y que la biomasa aumenta de forma consistente a medida que el suelo se vuelve menos ácido. El zinc mostró una asociación negativa fuerte (r = −0,781), lo que sugiere un efecto secundario pero relevante como posible limitante cuando se acumula en el suelo, mientras que la salinidad, dentro del rango muestreado (24–38), no mostró ninguna relación apreciable con la biomasa (r = −0,067). En conjunto, la evidencia univariada, bivariada y del ANOVA converge en un mismo mensaje: corregir o manejar el pH hacia valores más neutros es la intervención con mayor potencial para incrementar el rendimiento de biomasa de esta especie en los ambientes estudiados, mientras que vigilar el zinc del suelo es secundario y la salinidad, en este rango, no requiere manejo prioritario.

Punto 2 – Datos Moluscos

Dos tipos de moluscos A y B fueron sometidos a tres concentraciones distintas de agua de mar (100%, 75% y 50%) y se observó el consumo de oxígeno midiendo la proporción de O2 por unidad de peso seco del molusco.

load("C:/Users/Estudiante/Downloads/moluscos.RData")

str(BD_moluscos)
## tibble [48 × 3] (S3: tbl_df/tbl/data.frame)
##  $ c_agua : num [1:48] 100 100 100 100 100 100 100 100 100 100 ...
##  $ molusco: chr [1:48] "A" "A" "A" "A" ...
##  $ cons_o : num [1:48] 7.16 8.26 6.78 14 13.6 11.1 8.93 9.66 6.14 6.14 ...

a. Realice un análisis exploratorio univariado para cada característica e interprete.

9.30Media
9.70Mediana
3.68Desv. estándar
1.80Mínimo
18.80Máximo
library(dplyr)

BD_moluscos%>%
  summarise(
    Media                = round(mean(cons_o), 2),
    Mediana              = round(median(cons_o), 2),
    Desviacion_estandar  = round(sd(cons_o), 2),
    Minimo               = round(min(cons_o), 2),
    Maximo               = round(max(cons_o), 2)
  )
Media Mediana Desviacion_estandar Minimo Maximo
9.3 9.7 3.68 1.8 18.8
ggplot(BD_moluscos, aes(y = cons_o)) +
  geom_boxplot(fill = col_sage, color = col_primario, outlier.color = col_secundario) +
  labs(
    title = "Distribución del consumo de oxígeno",
    y = "Consumo de O2 (por unidad de peso seco)"
  ) +
  tema_informe()

El consumo de oxígeno de los moluscos presentó una media de 9,30 y una mediana de 9,70 unidades, con una desviación estándar de 3,68. Los valores oscilaron entre 1,80 y 18,80 unidades, indicando una variabilidad considerable entre los individuos. El diagrama de caja muestra que el 50 % central de las observaciones se encuentra aproximadamente entre 6,3 y 11,2 unidades, y evidencia un valor atípico alto cercano a 18,5 unidades. En conjunto, los datos muestran variabilidad en el consumo de oxígeno, con cierta tendencia hacia valores altos.

b. Realice un análisis exploratorio bivariado que permita conocer cómo es el consumo de oxígeno en las distintas concentraciones de agua de mar, y si estas conclusiones son las mismas para cada tipo de molusco.

BD_moluscos %>%
  group_by(molusco, c_agua) %>%
  summarise(
    n     = n(),
    Media = round(mean(cons_o), 2),
    DE    = round(sd(cons_o), 2),
    .groups = "drop"
  )
molusco c_agua n Media DE
A 50 8 12.18 3.09
A 75 8 7.89 2.74
A 100 8 9.94 2.75
B 50 8 12.33 3.52
B 75 8 6.10 2.74
B 100 8 7.41 2.84
ggplot(BD_moluscos, aes(x = factor(c_agua, levels = c(50, 75, 100)), y = cons_o, fill = molusco)) +
  geom_boxplot() +
  scale_fill_manual(values = c(A = col_primario, B = col_secundario)) +
  labs(
    title = "Consumo de oxígeno según concentración de agua y tipo de molusco",
    x = "Concentración de agua de mar (%)",
    y = "Consumo de O2",
    fill = "Molusco"
  ) +
  tema_informe()

La tabla y el diagrama de cajas muestran que la concentración de agua de mar se relaciona descriptivamente con el consumo de oxígeno en ambos tipos de moluscos. En los dos casos, el consumo es mayor al 50%, disminuye al 75% y aumenta nuevamente al 100%. A 50%, ambos presentan consumos similares, mientras que a 75% y 100% el molusco A presenta valores mayores que B. Además, se observan algunos valores atípicos altos en el molusco A. En conjunto, los resultados sugieren que la concentración de agua de mar y el tipo de molusco podrían influir en el consumo de oxígeno.

c. Evalúe mediante un ANOVA de dos vías (factores: tipo de molusco y concentración de agua de mar, incluyendo su interacción) si estos factores afectan significativamente el consumo de oxígeno. Verifique los supuestos del modelo (normalidad de los residuales y homogeneidad de varianzas) e interprete el efecto principal de cada factor y de la interacción. Cuando encuentre diferencias significativas, realice las comparaciones post-hoc pertinentes (prueba de LSD) entre los grupos y concluya.

BD_moluscos$c_agua <- factor(BD_moluscos$c_agua)

modelo_moluscos <- aov(cons_o ~ molusco * c_agua, data = BD_moluscos)

summary(modelo_moluscos)
##                Df Sum Sq Mean Sq F value   Pr(>F)    
## molusco         1   23.2   23.23   2.651    0.111    
## c_agua          2  230.8  115.41  13.171 3.63e-05 ***
## molusco:c_agua  2   15.4    7.68   0.876    0.424    
## Residuals      42  368.0    8.76                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
shapiro.test(residuals(modelo_moluscos))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(modelo_moluscos)
## W = 0.95824, p-value = 0.08571
library(car)

leveneTest(cons_o ~ molusco * c_agua, data = BD_moluscos)
Df F value Pr(>F)
group 5 0.1723003 0.9714557
42 NA NA
library(agricolae)

LSD.test(modelo_moluscos, "c_agua", console = TRUE)
## 
## Study: modelo_moluscos ~ "c_agua"
## 
## LSD t Test for cons_o 
## 
## Mean Square Error:  8.762171 
## 
## c_agua,  means and individual ( 95 %) CI
## 
##       cons_o      std  r        se       LCL       UCL  Min  Max    Q25    Q50
## 100  8.67125 3.000940 16 0.7400241  7.177821 10.164679 3.68 14.0  6.140  8.595
## 50  12.25062 3.199643 16 0.7400241 10.757196 13.744054 6.38 18.8 10.085 11.455
## 75   6.99250 2.804093 16 0.7400241  5.499071  8.485929 1.80 13.2  5.200  6.430
##         Q75
## 100 10.5750
## 50  14.5000
## 75   8.7675
## 
## Alpha: 0.05 ; DF Error: 42
## Critical Value of t: 2.018082 
## 
## least Significant Difference: 2.112028 
## 
## Treatments with the same letter are not significantly different.
## 
##       cons_o groups
## 50  12.25062      a
## 100  8.67125      b
## 75   6.99250      b

Los supuestos del ANOVA se cumplieron: normalidad de los residuales (Shapiro-Wilk, p = 0,0857) y homogeneidad de varianzas (Levene, p = 0,9715).

El tipo de molusco no tuvo un efecto significativo sobre el consumo de oxígeno (p = 0,111), mientras que la concentración de agua de mar sí fue significativa (p < 0,001). La interacción tampoco fue significativa (p = 0,424).

La prueba LSD mostró que el consumo a 50% (12,25) fue significativamente mayor que a 75% (6,99) y 100% (8,67), mientras que entre 75% y 100% no hubo diferencias significativas. En conclusión, el consumo de oxígeno varía según la concentración de agua de mar, pero no según el tipo de molusco.

Conclusión general — Punto 2

El factor que gobierna el consumo de oxígeno de los moluscos es la concentración de agua de mar, no el tipo de organismo: tanto el análisis univariado como el bivariado ya sugerían un patrón en forma de V (mayor consumo al 50%, mínimo al 75%, repunte al 100%), y el ANOVA de dos vías lo confirmó —solo la concentración fue significativa (p < 0,001), mientras que el molusco (p = 0,111) y la interacción molusco × concentración (p = 0,424) no lo fueron—. La prueba LSD post-hoc precisó que el efecto se concentra en la diferencia entre 50% (mayor consumo, 12,25) frente a 75% y 100% (sin diferencias significativas entre sí). En conjunto, diluir el agua de mar a la mitad altera más el metabolismo respiratorio de estos organismos que el tipo específico de molusco evaluado.

Punto 3 – Datos Biodiversidad

Con el fin de evaluar el efecto del uso del suelo sobre la biodiversidad de anfibios en una reserva forestal, se establecieron parcelas de muestreo en cuatro tipos de hábitat que representan un gradiente de intervención antrópica: bosque primario, bosque secundario, sistema silvopastoril y potrero. En cada una de las 52 parcelas (13 por hábitat) se registró la riqueza de especies (número de especies observadas), el índice de diversidad de Shannon–Wiener y la altitud (m.s.n.m.) del sitio de muestreo. La base de datos se encuentra en el archivo Biodiversidad.RData (objeto BD_biodiversidad).

load("C:/Users/Estudiante/Downloads/Biodiversidad.RData")

str(BD_biodiversidad)
## 'data.frame':    52 obs. of  5 variables:
##  $ Parcela: chr  "P001" "P002" "P003" "P004" ...
##  $ Habitat: chr  "Bosque primario" "Bosque primario" "Bosque primario" "Bosque primario" ...
##  $ Riqueza: num  14 14 13 14 10 15 19 16 15 21 ...
##  $ Shannon: num  2.13 2.98 2.07 2.53 2.82 2.75 2.45 1.73 2.04 2.48 ...
##  $ Altitud: num  1478 1477 1505 1395 1494 ...
##  - attr(*, "datalabel")= chr "BD_biodiversidad"
##  - attr(*, "var.labels")= chr [1:5] "" "" "" "" ...

a. Realice un análisis exploratorio univariado para cada característica (riqueza, diversidad de Shannon y altitud) e interprete.

data.frame(
  Media_Riqueza   = round(mean(BD_biodiversidad$Riqueza), 2),
  Mediana_Riqueza = round(median(BD_biodiversidad$Riqueza), 2),
  DE_Riqueza      = round(sd(BD_biodiversidad$Riqueza), 2),
  Min_Riqueza     = min(BD_biodiversidad$Riqueza),
  Max_Riqueza     = max(BD_biodiversidad$Riqueza),
  Media_Shannon   = round(mean(BD_biodiversidad$Shannon), 2),
  Mediana_Shannon = round(median(BD_biodiversidad$Shannon), 2),
  DE_Shannon      = round(sd(BD_biodiversidad$Shannon), 2),
  Min_Shannon     = min(BD_biodiversidad$Shannon),
  Max_Shannon     = max(BD_biodiversidad$Shannon),
  Media_Altitud   = round(mean(BD_biodiversidad$Altitud), 2),
  Mediana_Altitud = round(median(BD_biodiversidad$Altitud), 2),
  DE_Altitud      = round(sd(BD_biodiversidad$Altitud), 2),
  Min_Altitud     = min(BD_biodiversidad$Altitud),
  Max_Altitud     = max(BD_biodiversidad$Altitud)
)
Media_Riqueza Mediana_Riqueza DE_Riqueza Min_Riqueza Max_Riqueza Media_Shannon Mediana_Shannon DE_Shannon Min_Shannon Max_Shannon Media_Altitud Mediana_Altitud DE_Altitud Min_Altitud Max_Altitud
9.73 9.5 4.37 2 21 1.76 1.85 0.61 0.67 2.98 1243.89 1254.8 172.71 950.9 1600.8

La riqueza de especies presentó una media de 9,73 especies y valores entre 2 y 21, mostrando una variabilidad considerable. El índice de Shannon tuvo una media de 1,76, con valores entre 0,67 y 2,98, indicando diferencias en la diversidad entre las parcelas. La altitud presentó una media de 1243,89 m.s.n.m., con valores entre 950,9 y 1600,8 m.s.n.m., mostrando una variación importante en la elevación de los sitios muestreados.

Riqueza de especies

9.73Media
9.50Mediana
4.37Desv. estándar
2.00Mínimo
21.00Máximo
ggplot(BD_biodiversidad, aes(y = Riqueza)) +
  geom_boxplot(fill = col_sage, color = col_primario, outlier.color = col_secundario) +
  labs(
    title = "Distribución de la riqueza de especies",
    y = "Riqueza (n.º de especies)"
  ) +
  tema_informe()

La riqueza de especies presenta una mediana cercana a 9,5 especies, con el 50 % central de los datos aproximadamente entre 6 y 13 especies. Los valores oscilan entre 2 y 21 especies, mostrando una variabilidad considerable. No se observan valores atípicos evidentes en la distribución.

Índice de Shannon

1.76Media
1.85Mediana
0.61Desv. estándar
0.67Mínimo
2.98Máximo
ggplot(BD_biodiversidad, aes(y = Shannon)) +
  geom_boxplot(fill = col_sage, color = col_primario, outlier.color = col_secundario) +
  labs(
    title = "Distribución del índice de Shannon",
    y = "Índice de Shannon–Wiener"
  ) +
  tema_informe()

El índice de Shannon presentó una mediana cercana a 1,85, con valores entre 0,67 y 2,98, mostrando variación en la diversidad de anfibios entre las parcelas muestreadas. El 50 % central de los datos se encuentra aproximadamente entre 1,25 y 2,10, y no se observan valores atípicos evidentes. Esto indica que las parcelas presentan distintos niveles de diversidad, que posteriormente se compararán entre los tipos de hábitat.

Altitud

1,243.89 m.s.n.m.Media
1,254.80 m.s.n.m.Mediana
172.71 m.s.n.m.Desv. estándar
950.90 m.s.n.m.Mínimo
1,600.80 m.s.n.m.Máximo
ggplot(BD_biodiversidad, aes(y = Altitud)) +
  geom_boxplot(fill = col_sage, color = col_primario, outlier.color = col_secundario) +
  labs(
    title = "Distribución de la altitud de las parcelas",
    y = "Altitud (m.s.n.m.)"
  ) +
  tema_informe()

La altitud de las parcelas presenta una mediana cercana a 1255 m.s.n.m., con valores entre 950,9 y 1600,8 m.s.n.m.. El 50 % central se encuentra aproximadamente entre 1080 y 1380 m.s.n.m., mostrando una variación considerable entre los sitios de muestreo. No se observan valores atípicos evidentes.

b. Realice un análisis exploratorio bivariado que permita comparar la riqueza y la diversidad de Shannon entre los diferentes tipos de hábitat (por ejemplo, mediante boxplots por grupo), y explore la relación entre la altitud y la diversidad.

niveles_habitat <- c("Bosque primario", "Bosque secundario", "Sistema silvopastoril", "Potrero")

BD_biodiversidad %>%
  group_by(Habitat) %>%
  summarise(
    n             = n(),
    Media_Riqueza = round(mean(Riqueza), 2),
    DE_Riqueza    = round(sd(Riqueza), 2),
    Media_Shannon = round(mean(Shannon), 2),
    DE_Shannon    = round(sd(Shannon), 3),
    Media_Altitud = round(mean(Altitud), 1),
    .groups = "drop"
  )
Habitat n Media_Riqueza DE_Riqueza Media_Shannon DE_Shannon Media_Altitud
Bosque primario 13 14.77 2.74 2.47 0.377 1453.2
Bosque secundario 13 11.08 3.01 1.97 0.220 1326.1
Potrero 13 5.00 1.29 1.00 0.240 1044.7
Sistema silvopastoril 13 8.08 2.50 1.60 0.281 1151.5

La riqueza y la diversidad de Shannon varían entre los tipos de hábitat. El bosque primario presenta los mayores valores promedio de riqueza (14,77 especies) y Shannon (2,47), seguido por el bosque secundario (11,08 y 1,97). El sistema silvopastoril presenta valores intermedios (8,08 y 1,60), mientras que el potrero presenta los menores (5,00 y 1,00). Descriptivamente, los hábitats con menor intervención presentan mayores valores de riqueza y diversidad.

ggplot(BD_biodiversidad, aes(x = factor(Habitat, levels = niveles_habitat), y = Riqueza, fill = Habitat)) +
  geom_boxplot() +
  scale_fill_manual(values = c(
    "Bosque primario"       = col_primario,
    "Bosque secundario"     = "#6E9271",
    "Sistema silvopastoril" = col_acento,
    "Potrero"               = col_secundario
  ), guide = "none") +
  labs(
    title = "Riqueza de especies según tipo de hábitat",
    x = NULL,
    y = "Riqueza (n.º de especies)"
  ) +
  tema_informe() +
  theme(axis.text.x = element_text(angle = 20, hjust = 1))

La riqueza de especies es mayor en el bosque primario, seguida del bosque secundario, el sistema silvopastoril y el potrero. El bosque primario presenta además algunos valores atípicos, mientras que el bosque secundario muestra un valor bajo aislado. En general, se observa una disminución de la riqueza a medida que aumenta el grado de intervención del hábitat.

ggplot(BD_biodiversidad, aes(x = factor(Habitat, levels = niveles_habitat), y = Shannon, fill = Habitat)) +
  geom_boxplot() +
  scale_fill_manual(values = c(
    "Bosque primario"       = col_primario,
    "Bosque secundario"     = "#6E9271",
    "Sistema silvopastoril" = col_acento,
    "Potrero"               = col_secundario
  ), guide = "none") +
  labs(
    title = "Índice de Shannon según tipo de hábitat",
    x = NULL,
    y = "Índice de Shannon–Wiener"
  ) +
  tema_informe() +
  theme(axis.text.x = element_text(angle = 20, hjust = 1))

La diversidad de Shannon es mayor en el bosque primario, seguida del bosque secundario, el sistema silvopastoril y el potrero. El bosque primario presenta una mayor variabilidad en sus valores, mientras que el bosque secundario muestra una distribución más homogénea y un valor atípico bajo. El sistema silvopastoril presenta valores intermedios, mientras que el potrero tiene los valores más bajos. En general, se observa una disminución de la diversidad de Shannon a medida que aumenta la intervención del hábitat.

ggplot(BD_biodiversidad, aes(x = Altitud, y = Shannon)) +
  geom_point(color = col_primario, alpha = 0.75, size = 2) +
  geom_smooth(method = "lm", se = TRUE, color = col_secundario, fill = col_acento, alpha = 0.15) +
  labs(
    title = "Relación entre altitud y diversidad de Shannon",
    x = "Altitud (m.s.n.m.)",
    y = "Índice de Shannon–Wiener"
  ) +
  tema_informe()

Se observa una relación positiva entre la altitud y la diversidad de Shannon, ya que los valores de diversidad tienden a aumentar a medida que aumenta la altitud. Las parcelas a menor altitud presentan, en general, valores más bajos de diversidad, mientras que a mayor altitud se observan valores más altos. Además, se identifica un valor atípico alrededor de los 1600 m.s.n.m., que presenta una diversidad menor a la esperada según la tendencia general. En conjunto, el gráfico sugiere que la diversidad de anfibios tiende a incrementarse con la altitud.

c. Evalúe mediante un ANOVA de una vía si existen diferencias significativas en el índice de diversidad de Shannon entre los tipos de hábitat. Verifique los supuestos del modelo (normalidad de los residuales y homogeneidad de varianzas) y, de encontrar diferencias significativas, realice las comparaciones post-hoc pertinentes (prueba de LSD), interpretando qué hábitats difieren entre sí y cuáles no.

modelo_biodiv <- aov(Shannon ~ Habitat, data = BD_biodiversidad)

summary(modelo_biodiv)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## Habitat      3 14.862   4.954   60.61 2.38e-16 ***
## Residuals   48  3.923   0.082                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

El ANOVA de una vía mostró diferencias estadísticamente significativas en el índice de diversidad de Shannon entre los diferentes tipos de hábitat (F = 60,61; p < 0,001). Por lo tanto, se rechaza la hipótesis nula de igualdad de medias y se concluye que al menos uno de los hábitats presenta una diversidad de Shannon diferente.

shapiro.test(residuals(modelo_biodiv))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(modelo_biodiv)
## W = 0.97846, p-value = 0.4625

La prueba de Shapiro-Wilk presentó un valor de W = 0,9785 y p = 0,4625. Debido a que p > 0,05, no se rechaza la hipótesis de normalidad. Por lo tanto, se cumple el supuesto de normalidad de los residuales.

leveneTest(Shannon ~ Habitat, data = BD_biodiversidad)
Df F value Pr(>F)
group 3 1.276824 0.2929559
48 NA NA

La prueba de Levene mostró que no existen diferencias significativas entre las varianzas de los grupos (F = 1,2768; p = 0,293). Debido a que p > 0,05, se cumple el supuesto de homogeneidad de varianzas.

LSD.test(modelo_biodiv, "Habitat", console = TRUE)
## 
## Study: modelo_biodiv ~ "Habitat"
## 
## LSD t Test for Shannon 
## 
## Mean Square Error:  0.08173622 
## 
## Habitat,  means and individual ( 95 %) CI
## 
##                        Shannon       std  r         se       LCL      UCL  Min
## Bosque primario       2.467692 0.3765668 13 0.07929314 2.3082628 2.627122 1.73
## Bosque secundario     1.974615 0.2204395 13 0.07929314 1.8151858 2.134045 1.44
## Potrero               1.003846 0.2396712 13 0.07929314 0.8444166 1.163276 0.67
## Sistema silvopastoril 1.603077 0.2812586 13 0.07929314 1.4436474 1.762506 1.14
##                        Max  Q25  Q50  Q75
## Bosque primario       2.98 2.13 2.53 2.75
## Bosque secundario     2.27 1.86 2.03 2.10
## Potrero               1.34 0.80 0.98 1.20
## Sistema silvopastoril 2.06 1.41 1.62 1.86
## 
## Alpha: 0.05 ; DF Error: 48
## Critical Value of t: 2.010635 
## 
## least Significant Difference: 0.2254674 
## 
## Treatments with the same letter are not significantly different.
## 
##                        Shannon groups
## Bosque primario       2.467692      a
## Bosque secundario     1.974615      b
## Sistema silvopastoril 1.603077      c
## Potrero               1.003846      d

La prueba LSD mostró diferencias significativas en la diversidad de Shannon entre todos los tipos de hábitat. El bosque primario presentó la mayor diversidad (2,47), seguido del bosque secundario (1,97), el sistema silvopastoril (1,60) y el potrero (1,00). Esto indica que, bajo las condiciones evaluadas, los hábitats con menor intervención antrópica mantienen una mayor diversidad de anfibios, mientras que en los hábitats más intervenidos la diversidad disminuye.

Conclusión general — Punto 3

La biodiversidad de anfibios responde claramente al gradiente de intervención antrópica del hábitat. Tanto la riqueza de especies como el índice de Shannon fueron descriptivamente más altos en el bosque primario y decrecieron de forma escalonada hacia el bosque secundario, el sistema silvopastoril y, por último, el potrero —el hábitat menos intervenido concentra la mayor diversidad y el más intervenido la menor—. Esta tendencia se confirmó estadísticamente: el ANOVA de una vía mostró diferencias muy significativas en Shannon entre hábitats (F = 60,61; p < 0,001), con los supuestos de normalidad y homogeneidad de varianzas satisfechos, y la prueba LSD post-hoc mostró que los cuatro hábitats difieren significativamente entre sí, sin solapamientos entre grupos. Adicionalmente, la diversidad tiende a aumentar con la altitud, lo que sugiere que las zonas más altas y menos intervenidas de la reserva concentran mayor riqueza de anfibios. En conjunto, la evidencia respalda que conservar o restaurar la cobertura boscosa —frente a convertir el suelo en sistemas silvopastoriles o potreros— es la estrategia más efectiva para proteger la diversidad de anfibios en esta reserva.