LIBRERÍAS
## Warning: package 'tidyverse' was built under R version 4.4.3
## Warning: package 'ggplot2' was built under R version 4.4.3
## Warning: package 'tibble' was built under R version 4.4.3
## Warning: package 'tidyr' was built under R version 4.4.3
## Warning: package 'readr' was built under R version 4.4.3
## Warning: package 'purrr' was built under R version 4.4.3
## Warning: package 'dplyr' was built under R version 4.4.3
## Warning: package 'stringr' was built under R version 4.4.3
## Warning: package 'forcats' was built under R version 4.4.3
## Warning: package 'lubridate' was built under R version 4.4.3
## ── 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
## Warning: package 'lme4' was built under R version 4.4.3
## Cargando paquete requerido: Matrix
##
## Adjuntando el paquete: 'Matrix'
##
## The following objects are masked from 'package:tidyr':
##
## expand, pack, unpack
## Warning: package 'emmeans' was built under R version 4.4.3
## Welcome to emmeans.
## Caution: You lose important information if you filter this package's results.
## See '? untidy'
## Warning: package 'car' was built under R version 4.4.3
## Cargando paquete requerido: carData
## Warning: package 'carData' was built under R version 4.4.3
##
## Adjuntando el paquete: 'car'
##
## The following object is masked from 'package:dplyr':
##
## recode
##
## The following object is masked from 'package:purrr':
##
## some
PROBLEMA 1 -
Crecimiento bacteriano
Datos
df1 <- data.frame(
Unidad = rep(1:9, 2),
Temperatura = rep(c(rep("T0",3), rep("T5",3), rep("T10",3)), 2),
Marisco = c(rep("O",9), rep("M",9)),
Bacterias = c(
4879, 68, 170900, 15670000, 2101000000, 26270000, 6084000000, 2953000, 2781000000,
2.276, 52, 37840, 103960, 89510000, 243300, 13651000000, 111750, 1078600000000000
)
)
# Transformación log10
df1 <- df1%>% mutate(LogBac = log10(Bacterias))
# Convertir a en factor
df1$Temperatura <- factor(df1$Temperatura)
df1$Marisco <- factor(df1$Marisco)
Modelo mixto
mod1 <- lmer(LogBac ~ Temperatura * Marisco + (1|Unidad), data = df1)
Resultados
anova(mod1) # ANOVA de efectos fijos
summary(mod1) # coeficientes
## Linear mixed model fit by REML ['lmerMod']
## Formula: LogBac ~ Temperatura * Marisco + (1 | Unidad)
## Data: df1
##
## REML criterion at convergence: 60.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -1.44575 -0.24705 0.02554 0.37969 1.69364
##
## Random effects:
## Groups Name Variance Std.Dev.
## Unidad (Intercept) 3.879 1.970
## Residual 2.740 1.655
## Number of obs: 18, groups: Unidad, 9
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 2.2170 1.4853 1.493
## TemperaturaT10 7.8550 2.1006 3.739
## TemperaturaT5 3.9013 2.1006 1.857
## MariscoO 1.3675 1.3514 1.012
## TemperaturaT10:MariscoO -2.8734 1.9112 -1.503
## TemperaturaT5:MariscoO 0.4932 1.9112 0.258
##
## Correlation of Fixed Effects:
## (Intr) TmpT10 TmprT5 MarscO TT10:M
## TempertrT10 -0.707
## TemperatrT5 -0.707 0.500
## MariscoO -0.455 0.322 0.322
## TmprtT10:MO 0.322 -0.455 -0.227 -0.707
## TmprtrT5:MO 0.322 -0.227 -0.455 -0.707 0.500
Comparaciones
múltiples (Tukey)
emm1 <- emmeans(mod1, ~ Temperatura * Marisco)
pairs(emm1, ajuste = "tukey")
## contrast estimate SE df t.ratio p.value
## T0 M - T10 M -7.855 2.10 8.93 -3.739 0.0387
## T0 M - T5 M -3.901 2.10 8.93 -1.857 0.4801
## T0 M - T0 O -1.367 1.35 6.00 -1.012 0.8983
## T0 M - T10 O -6.349 2.10 8.93 -3.023 0.1070
## T0 M - T5 O -5.762 2.10 8.93 -2.743 0.1582
## T10 M - T5 M 3.954 2.10 8.93 1.882 0.4674
## T10 M - T0 O 6.488 2.10 8.93 3.088 0.0975
## T10 M - T10 O 1.506 1.35 6.00 1.114 0.8599
## T10 M - T5 O 2.093 2.10 8.93 0.996 0.9079
## T5 M - T0 O 2.534 2.10 8.93 1.206 0.8239
## T5 M - T10 O -2.448 2.10 8.93 -1.165 0.8423
## T5 M - T5 O -1.861 1.35 6.00 -1.377 0.7397
## T0 O - T10 O -4.982 2.10 8.93 -2.372 0.2602
## T0 O - T5 O -4.394 2.10 8.93 -2.092 0.3683
## T10 O - T5 O 0.587 2.10 8.93 0.280 0.9997
##
## Degrees-of-freedom method: kenward-roger
## P value adjustment: tukey method for comparing a family of 6 estimates
Validación de
supuestos
shapiro.test(resid(mod1)) # normalidad residuos
##
## Shapiro-Wilk normality test
##
## data: resid(mod1)
## W = 0.94571, p-value = 0.3617
Gráfica
ggplot(df1, aes(Temperatura, LogBac, fill=Marisco)) +
geom_boxplot() + theme_minimal() +
labs(title="Problema 1: Log10 Contenido bacteriano")

Conclusiones —
Problema 1 (Crecimiento bacterial)
- Se observó que la temperatura tiene un efecto importante en el
crecimiento de las bacterias, presentándose un aumento notable en T5 y
especialmente en T10 en comparación con T0.
- El tipo de marisco no mostró una influencia significativa, al igual
que la interacción entre temperatura y marisco.
- Por lo tanto, mantener un control adecuado de la temperatura resulta
fundamental para limitar la proliferación bacteriana.
PROBLEMA 2 -
Rendimiento de volumen en leche y proteína
Datos
df2 <- tribble(
~Vaca, ~Periodo, ~Tratamiento, ~Leche, ~Proteina,
"A", "P1", "Control", 60.0, 3.01,
"A", "P2", "5%", 65.0, 3.09,
"A", "P3", "10%", 60.0, 3.10,
"B", "P1", "5%", 72.0, 2.95,
"B", "P2", "10%", 74.0, 2.89,
"B", "P3", "Control", 65.0, 2.72,
"C", "P1", "10%", 45.0, 3.50,
"C", "P2", "Control", 49.0, 3.40,
"C", "P3", "5%", 67.0, 3.30
)
# Convertir a en factor
df2 <- df2%>% mutate(
Vaca = factor(Vaca),
Periodo = factor(Periodo),
Tratamiento = factor(Tratamiento)
)
ANOVA para Leche
mod_leche <- aov(Leche ~ Tratamiento + Periodo + Vaca, data = df2)
car::Anova(mod_leche, type = 2)
emmeans(mod_leche, pairwise ~ Tratamiento)
## $emmeans
## Tratamiento emmean SE df lower.CL upper.CL
## 10% 59.7 4.54 2 40.1 79.2
## 5% 68.0 4.54 2 48.5 87.5
## Control 58.0 4.54 2 38.5 77.5
##
## Results are averaged over the levels of: Periodo, Vaca
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio p.value
## 10% - 5% -8.33 6.42 2 -1.299 0.5191
## 10% - Control 1.67 6.42 2 0.260 0.9642
## 5% - Control 10.00 6.42 2 1.558 0.4286
##
## Results are averaged over the levels of: Periodo, Vaca
## P value adjustment: tukey method for comparing a family of 3 estimates
Anova para
proteina
mod_prot <- aov(Proteina ~ Tratamiento + Periodo + Vaca, data = df2)
car::Anova(mod_prot, type = 2)
emmeans(mod_prot, pairwise ~ Tratamiento)
## $emmeans
## Tratamiento emmean SE df lower.CL upper.CL
## 10% 3.16 0.0418 2 2.98 3.34
## 5% 3.11 0.0418 2 2.93 3.29
## Control 3.04 0.0418 2 2.86 3.22
##
## Results are averaged over the levels of: Periodo, Vaca
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio p.value
## 10% - 5% 0.05 0.0591 2 0.846 0.7172
## 10% - Control 0.12 0.0591 2 2.032 0.3064
## 5% - Control 0.07 0.0591 2 1.185 0.5644
##
## Results are averaged over the levels of: Periodo, Vaca
## P value adjustment: tukey method for comparing a family of 3 estimates
Validación de
supuestos
shapiro.test(resid(mod_leche))
##
## Shapiro-Wilk normality test
##
## data: resid(mod_leche)
## W = 0.7505, p-value = 0.005495
shapiro.test(resid(mod_prot))
##
## Shapiro-Wilk normality test
##
## data: resid(mod_prot)
## W = 0.81911, p-value = 0.03367
Gráficas
ggplot(df2, aes(Tratamiento, Leche, fill=Tratamiento)) +
geom_boxplot() + theme_minimal() +
labs(title="Problema 2: Volumen de Leche")

ggplot(df2, aes(Tratamiento, Proteina, fill=Tratamiento)) +
geom_boxplot() + theme_minimal() +
labs(title="Problema 2: % Proteína")

Conclusiones —
Problema 2 (Cuadro latino: Leche y % Proteína)
- Al analizar los resultados se encontró que los tratamientos
aplicados (5% y 10%) no generaron cambios significativos ni en la
cantidad de leche obtenida ni en el porcentaje de proteína, lo que
indica que dichas concentraciones no ejercieron un efecto marcado en la
producción.
- Sin embargo, se evidenció que la variabilidad entre las vacas sí
tuvo un papel importante, especialmente en el porcentaje de proteína, lo
que sugiere que las características individuales de cada animal influyen
más que el tratamiento en este caso.
- En general, no se logró comprobar un efecto claro de los
tratamientos, por lo que se recomienda realizar futuras evaluaciones con
un mayor número de repeticiones o utilizando un diseño experimental más
robusto, que permita obtener resultados más concluyentes y
confiables.