## ── 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.3.0
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.1.0
## ── 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
## Cargando paquete requerido: carData
##
## Adjuntando el paquete: 'car'
##
## The following object is masked from 'package:dplyr':
##
## recode
##
## The following object is masked from 'package:purrr':
##
## some
## Welcome to emmeans.
## Caution: You lose important information if you filter this package's results.
## See '? untidy'
Un investigador estudia el crecimiento bacterial en ostiones (O) y mejillones (M) sujetos a tres temperaturas de almacenamiento (T0, T5, T10). Los conteos bacterianos son altamente variables, por lo que se sugiere transformación logarítmica para cumplir supuestos de ANAVA.
datos1 <- tibble(
Unidad = rep(1:9, 2),
Temperatura = rep(c("T0", "T5", "T10"), each = 3, times = 2),
Marisco = rep(c("O", "M"), each = 9),
Bacterias = c(4879, 68, 170900, 15670000, 2101000000, 26270000, 6084000000, 2953000, 2781000000,
2.276, 52, 37840, 103960, 89510000, 243300, 13651000000, 111750, 1078600000000000)
) %>%
mutate(logBacterias = log(Bacterias + 1),
Temperatura = factor(Temperatura, levels = c("T0", "T5", "T10")),
Marisco = factor(Marisco))
head(datos1)
Se observa gran dispersión en conteos, la transformación logarítmica estabiliza la varianza.
Se grafica diagnóstico de residuos y se realizan pruebas formales.
shapiro <- shapiro.test(residuals(anova1))
levene <- leveneTest(logBacterias ~ Temperatura * Marisco, data = datos1)
list(Shapiro_Wilk = shapiro, Levene = levene)
## $Shapiro_Wilk
##
## Shapiro-Wilk normality test
##
## data: residuals(anova1)
## W = 0.96457, p-value = 0.6917
##
##
## $Levene
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 5 0.9584 0.4799
## 12
La gráfica Q-Q y la prueba de Shapiro sugieren si los residuos son normales. Levene indica homogeneidad de varianza.
Se realiza prueba post hoc para la interacción temperatura x marisco.
## contrast estimate SE df t.ratio p.value
## T0 M - T5 M -8.86 4.82 12 -1.838 0.4795
## T0 M - T10 M -17.96 4.82 12 -3.727 0.0269
## T0 M - T0 O -3.03 4.82 12 -0.628 0.9865
## T0 M - T5 O -13.14 4.82 12 -2.727 0.1402
## T0 M - T10 O -14.49 4.82 12 -3.008 0.0894
## T5 M - T10 M -9.10 4.82 12 -1.889 0.4519
## T5 M - T0 O 5.83 4.82 12 1.210 0.8243
## T5 M - T5 O -4.28 4.82 12 -0.889 0.9420
## T5 M - T10 O -5.64 4.82 12 -1.170 0.8426
## T10 M - T0 O 14.93 4.82 12 3.099 0.0770
## T10 M - T5 O 4.82 4.82 12 1.000 0.9092
## T10 M - T10 O 3.47 4.82 12 0.720 0.9757
## T0 O - T5 O -10.11 4.82 12 -2.099 0.3487
## T0 O - T10 O -11.47 4.82 12 -2.380 0.2369
## T5 O - T10 O -1.35 4.82 12 -0.281 0.9997
##
## P value adjustment: tukey method for comparing a family of 6 estimates
## Temperatura Marisco emmean SE df lower.CL upper.CL
## T0 M 5.23 3.41 12 -2.191 12.7
## T5 M 14.09 3.41 12 6.664 21.5
## T10 M 23.19 3.41 12 15.768 30.6
## T0 O 8.26 3.41 12 0.835 15.7
## T5 O 18.37 3.41 12 10.949 25.8
## T10 O 19.72 3.41 12 12.301 27.1
##
## Confidence level used: 0.95
La transformación logarítmica de los conteos bacterianos fue esencial para cumplir los supuestos de normalidad y homogeneidad de varianza en el análisis de varianza. Se encontró que tanto la temperatura de almacenamiento como el tipo de marisco afectan significativamente el crecimiento bacterial, además de que existe una interacción entre estos factores, indicando que el efecto de la temperatura depende de la especie (ostión o mejillón). Esto resalta la necesidad de controlar estrictamente las temperaturas según el tipo de marisco para minimizar el riesgo de proliferación bacterial.
Evaluación del efecto de tipo de concentrado (Testigo, 5%, 10% energía suplementada) sobre volumen y proteína, controlando efectos de vacas y periodos.
vacas <- rep(c("A", "B", "C"), each=3)
periodo <- rep(c("P1", "P2", "P3"), 3)
tratamiento <- rep(c("Testigo", "5%", "10%"), each=3)
volumen <- c(60, 65, 60, 72, 74, 65, 45, 49, 67)
proteina <- c(3.01, 3.09, 3.10, 2.95, 2.89, 2.72, 3.50, 3.40, 3.30)
volumen_df <- tibble(Vaca=vacas, Periodo=periodo, Tratamiento=tratamiento, Volumen=volumen) %>%
mutate(across(c(Vaca, Periodo, Tratamiento), factor))
proteina_df <- tibble(Vaca=vacas, Periodo=periodo, Tratamiento=tratamiento, Proteina=proteina) %>%
mutate(across(c(Vaca, Periodo, Tratamiento), factor))
volumen_df
\[ Y_{ijk} = \mu + \tau_i + \beta_j + \gamma_k + \epsilon_{ijk} \]
Donde:
## Df Sum Sq Mean Sq F value Pr(>F)
## Tratamiento 2 416.9 208.44 2.819 0.172
## Periodo 2 40.2 20.11 0.272 0.775
## Residuals 4 295.8 73.94
##
## Shapiro-Wilk normality test
##
## data: residuals(anova_vol)
## W = 0.93087, p-value = 0.4896
## contrast estimate SE df t.ratio p.value
## Testigo A - 5% B -8.67 7.02 4 -1.234 0.4969
## Testigo A - 10% C 8.00 7.02 4 1.139 0.5432
## 5% B - 10% C 16.67 7.02 4 2.374 0.1546
##
## Results are averaged over the levels of: Periodo
## P value adjustment: tukey method for comparing a family of 3 estimates
## Df Sum Sq Mean Sq F value Pr(>F)
## Tratamiento 2 0.4555 0.22773 28.231 0.00438 **
## Periodo 2 0.0211 0.01053 1.306 0.36603
## Residuals 4 0.0323 0.00807
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Shapiro-Wilk normality test
##
## data: residuals(anova_prot)
## W = 0.98868, p-value = 0.994
## contrast estimate SE df t.ratio p.value
## Testigo A - 5% B 0.213 0.0733 4 2.909 0.0910
## Testigo A - 10% C -0.333 0.0733 4 -4.545 0.0227
## 5% B - 10% C -0.547 0.0733 4 -7.455 0.0038
##
## Results are averaged over the levels of: Periodo
## P value adjustment: tukey method for comparing a family of 3 estimates