\[\text{Valeria Riveros Parra y Juan Felipe Paz Paiba}\] \[\text{Analisis de varianza para medidas repetidas de una vía}\]
library(ggpubr)
## Warning: package 'ggpubr' was built under R version 4.2.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.2.3
library(rstatix)
## Warning: package 'rstatix' was built under R version 4.2.3
##
## Attaching package: 'rstatix'
## The following object is masked from 'package:stats':
##
## filter
library(readxl)
## Warning: package 'readxl' was built under R version 4.2.3
library(multcomp)
## Loading required package: mvtnorm
## Warning: package 'mvtnorm' was built under R version 4.2.3
## Loading required package: survival
## Loading required package: TH.data
## Warning: package 'TH.data' was built under R version 4.2.3
## Loading required package: MASS
## Warning: package 'MASS' was built under R version 4.2.3
##
## Attaching package: 'MASS'
## The following object is masked from 'package:rstatix':
##
## select
##
## Attaching package: 'TH.data'
## The following object is masked from 'package:MASS':
##
## geyser
library(lme4)
## Warning: package 'lme4' was built under R version 4.2.3
## Loading required package: Matrix
## Warning: package 'Matrix' was built under R version 4.2.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.2.3
##
## Attaching package: 'dplyr'
## The following object is masked from 'package:MASS':
##
## select
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
# Datos en formato ancho
data= read_xlsx ("C:/Users/juanf/downloads/m_repetidas.xlsx", sheet= "biomasa_1")
data
## # A tibble: 30 × 13
## `0_días` `05_días` `10_días` `15_días` `20_días` `25_días` `30_días`
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 0.00001 2.95 3.31 3.12 3.27 3.86 3.65
## 2 0.00001 2.53 3.02 3.35 3.41 3.73 3.93
## 3 0.00001 2.68 3.07 3.39 2.72 3.52 4.00
## 4 0.00001 2.77 2.91 3.11 3.42 2.99 3.60
## 5 0.00001 2.83 3.15 3.46 3.15 3.08 3.31
## 6 0.00001 2.88 3.18 3.27 3.75 3.24 3.56
## 7 0.00001 2.92 3.21 2.67 3.37 3.81 3.75
## 8 0.00001 2.86 2.96 3.24 2.9 3.45 3.86
## 9 0.00001 2.99 3.27 3.04 3.51 3.03 3.22
## 10 0.00001 3.02 3.14 3.19 3.44 3.57 3.96
## # ℹ 20 more rows
## # ℹ 6 more variables: `35_días` <dbl>, `40_días` <dbl>, `45_días` <dbl>,
## # `50_días` <dbl>, `55_días` <dbl>, `60_días` <dbl>
#Datos en formato largo
# Gather columns t1, t2 and t3 into long format
# Convert id and time into factor variables
data_larga <- data %>%
gather(key = "time", value = "Biomasa", `0_días`, `05_días`, `10_días`, `15_días`, `20_días`, `25_días`, `30_días`, `35_días`, `40_días`, `45_días`, `50_días`, `55_días`, `60_días`) %>%
convert_as_factor(time)
data_larga$id= rep(seq(1,30),13)
head(data_larga, 5)
## # A tibble: 5 × 3
## time Biomasa id
## <fct> <dbl> <int>
## 1 0_días 0.00001 1
## 2 0_días 0.00001 2
## 3 0_días 0.00001 3
## 4 0_días 0.00001 4
## 5 0_días 0.00001 5
# Cargar la librería necesaria
library(collapsibleTree)
## Warning: package 'collapsibleTree' was built under R version 4.2.3
# Crear un árbol colapsible
tree <- collapsibleTree(data_larga, c("time", "Biomasa", "id"), collapsed = TRUE)
tree
#Resumen estadistico
data_larga %>%
group_by(time) %>%
get_summary_stats(Biomasa, type = "mean_sd")
## # A tibble: 13 × 5
## time variable n mean sd
## <fct> <fct> <dbl> <dbl> <dbl>
## 1 0_días Biomasa 30 0 0
## 2 05_días Biomasa 30 2.86 0.175
## 3 10_días Biomasa 30 3.11 0.144
## 4 15_días Biomasa 30 3.20 0.238
## 5 20_días Biomasa 30 3.31 0.257
## 6 25_días Biomasa 30 3.56 0.233
## 7 30_días Biomasa 30 3.72 0.242
## 8 35_días Biomasa 30 3.95 0.224
## 9 40_días Biomasa 30 4.32 0.2
## 10 45_días Biomasa 30 4.57 0.305
## 11 50_días Biomasa 30 4.83 0.34
## 12 55_días Biomasa 30 5.18 0.301
## 13 60_días Biomasa 30 5.83 0.304
# Gráfico de líneas
ggplot(data_larga, aes(x = time, y = Biomasa)) +
geom_line() +
geom_point() + scale_y_continuous(breaks = seq(0, max(data_larga$Biomasa, na.rm = TRUE), by = 5)) +
labs(title = "Biomasa a lo largo del tiempo",
x = "Tiempo",
y = "Biomasa") +
theme_minimal()
# Gráfico de cajas (boxplot)
ggplot(data_larga, aes(x = time, y = Biomasa)) +
geom_boxplot() + scale_fill_manual(values = rainbow(n_distinct(data_larga$time))) +
labs(title = "Distribución de Biomasa a lo largo del tiempo",
x = "Tiempo",
y = "Biomasa") +
theme_minimal()
#Supuestos
#outliers
data_larga %>%
group_by(time) %>%
identify_outliers(Biomasa)
## # A tibble: 12 × 5
## time Biomasa id is.outlier is.extreme
## <fct> <dbl> <int> <lgl> <lgl>
## 1 10_días 3.45 14 TRUE FALSE
## 2 10_días 2.78 29 TRUE FALSE
## 3 20_días 2.72 3 TRUE FALSE
## 4 20_días 2.75 16 TRUE FALSE
## 5 25_días 2.99 4 TRUE FALSE
## 6 25_días 3.08 5 TRUE FALSE
## 7 25_días 3.03 9 TRUE FALSE
## 8 30_días 3.13 13 TRUE FALSE
## 9 35_días 3.40 1 TRUE FALSE
## 10 35_días 3.54 10 TRUE FALSE
## 11 35_días 4.41 25 TRUE FALSE
## 12 45_días 5.35 16 TRUE FALSE
#supuestos de la normalidad (sin embargo solo para determinar la normalidad de la respuesta, luego se realizar al ralizar el análisis de varianza)
hist(data_larga$Biomasa)
#Supuesto de esfericidad (una manera de comparar la variabilidad entre los pares de tiempo
#Comparacion de varianzas entre pares de tiempos
res.aov <- anova_test(data = data_larga, dv = Biomasa, wid = id, within = time) #`Mauchly's Test for Sphericity`
res.aov #Los datos proveen evidencia en contra de la hipotesis nula, lo cual rechaza la hipotesis de esfericidad
## ANOVA Table (type III tests)
##
## $ANOVA
## Effect DFn DFd F p p<.05 ges
## 1 time 12 348 1083.509 3.19e-267 * 0.97
##
## $`Mauchly's Test for Sphericity`
## Effect W p p<.05
## 1 time 0.000513 6.82e-11 *
##
## $`Sphericity Corrections`
## Effect GGe DF[GG] p[GG] p[GG]<.05 HFe DF[HF] p[HF]
## 1 time 0.518 6.22, 180.25 1.05e-139 * 0.675 8.1, 234.78 3.59e-181
## p[HF]<.05
## 1 *
get_anova_table(res.aov) #se rechaza la hipotesis de esfericidad
## ANOVA Table (type III tests)
##
## Effect DFn DFd F p p<.05 ges
## 1 time 6.22 180.25 1083.509 1.05e-139 * 0.97
#transformación de los datos para cumplir supuestos
# Aplicar la transformación de Box-Cox
boxcox_result <- boxcox(Biomasa ~ time + (1 | id), data = data_larga, lambda = seq(-2, 2, by = 0.1))
best_lambda <- boxcox_result$x[which.max(boxcox_result$y)]
data_larga <- data_larga %>%
mutate(Biomasa_boxcox = ifelse(best_lambda == 0, log(Biomasa), (Biomasa^best_lambda - 1) / best_lambda))
head(data_larga, 5)
## # A tibble: 5 × 4
## time Biomasa id Biomasa_boxcox
## <fct> <dbl> <int> <dbl>
## 1 0_días 0.00001 1 -4999999999.
## 2 0_días 0.00001 2 -4999999999.
## 3 0_días 0.00001 3 -4999999999.
## 4 0_días 0.00001 4 -4999999999.
## 5 0_días 0.00001 5 -4999999999.
#boxplot datos tranformados con raíz cuadrada
bxp2 = ggboxplot(data_larga, x= "time", y= "Biomasa_boxcox", add= "point")
bxp2
#Comparacion de varianzas entre pares de tiempos con boxcox
res.aov2 <- anova_test(data = data_larga, dv = Biomasa_boxcox, wid = id, within = time)
res.aov2
## ANOVA Table (type III tests)
##
## Effect DFn DFd F p p<.05 ges
## 1 time 12 348 NaN NaN <NA> 0
get_anova_table(res.aov2)
## ANOVA Table (type III tests)
##
## Effect DFn DFd F p p<.05 ges
## 1 time 12 348 NaN NaN <NA> 0
#transformación de los datos para cumplir supuestos 2
# Aplicar funcion logaritmica a los datos
data_larga$log_Biomasa= log(data_larga$Biomasa)
#boxplot datos tranformados con logaritmo
bxp3 = ggboxplot(data_larga, x= "time", y= "log_Biomasa", add= "point")
bxp3
#Comparacion de varianzas entre pares de tiempos con logaritmo de la Biomasa
res.aov3 <- anova_test(data = data_larga, dv = log_Biomasa, wid = id, within = time)
res.aov3
## ANOVA Table (type III tests)
##
## $ANOVA
## Effect DFn DFd F p p<.05 ges
## 1 time 12 348 106162.5 0 * 1
##
## $`Mauchly's Test for Sphericity`
## Effect W p p<.05
## 1 time 0.000699 6.46e-10 *
##
## $`Sphericity Corrections`
## Effect GGe DF[GG] p[GG] p[GG]<.05 HFe DF[HF] p[HF]
## 1 time 0.527 6.33, 183.48 9.881313e-324 * 0.69 8.28, 240.22 0
## p[HF]<.05
## 1 *
get_anova_table(res.aov3)
## ANOVA Table (type III tests)
##
## Effect DFn DFd F p p<.05 ges
## 1 time 6.33 183.48 106162.5 9.881313e-324 * 1
#transformación de los datos para cumplir supuestos 3
# Aplicar funcion logaritmica a los datos
data_larga$sqrt_Biomasa= sqrt(data_larga$Biomasa)
#boxplot datos tranformados con raíz cuadrada
bxp4 = ggboxplot(data_larga, x= "time", y= "sqrt_Biomasa", add= "point")
bxp4
res.aov4 <- anova_test(data = data_larga, dv = sqrt_Biomasa, wid = id, within = time)
res.aov4
## ANOVA Table (type III tests)
##
## $ANOVA
## Effect DFn DFd F p p<.05 ges
## 1 time 12 348 3038.58 0 * 0.989
##
## $`Mauchly's Test for Sphericity`
## Effect W p p<.05
## 1 time 0.000799 1.67e-09 *
##
## $`Sphericity Corrections`
## Effect GGe DF[GG] p[GG] p[GG]<.05 HFe DF[HF] p[HF]
## 1 time 0.534 6.41, 185.89 6.35e-185 * 0.702 8.42, 244.3 3.45e-242
## p[HF]<.05
## 1 *
get_anova_table(res.aov4)
## ANOVA Table (type III tests)
##
## Effect DFn DFd F p p<.05 ges
## 1 time 6.41 185.89 3038.58 6.35e-185 * 0.989
# Datos en formato ancho con razon de cumplir supuestos
supuestos_1= read_xlsx ("C:/Users/juanf/downloads/m_repetidas.xlsx", sheet= "supuestos_1")
supuestos_1
## # A tibble: 30 × 12
## `05_días` `10_días` `15_días` `20_días` `25_días` `30_días` `35_días`
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2.95 3.31 3.12 3.27 3.86 3.65 3.40
## 2 2.53 3.02 3.35 3.41 3.73 3.93 3.68
## 3 2.68 3.07 3.39 2.72 3.52 4.00 3.89
## 4 2.77 2.91 3.11 3.42 2.99 3.60 4.07
## 5 2.83 3.15 3.46 3.15 3.08 3.31 3.68
## 6 2.88 3.18 3.27 3.75 3.24 3.56 3.64
## 7 2.92 3.21 2.67 3.37 3.81 3.75 3.98
## 8 2.86 2.96 3.24 2.9 3.45 3.86 3.90
## 9 2.99 3.27 3.04 3.51 3.03 3.22 4.02
## 10 3.02 3.14 3.19 3.44 3.57 3.96 3.54
## # ℹ 20 more rows
## # ℹ 5 more variables: `40_días` <dbl>, `45_días` <dbl>, `50_días` <dbl>,
## # `55_días` <dbl>, `60_días` <dbl>
#Datos para cumplir supuestos en formato largo
# Gather columns t1, t2 and t3 into long format
# Convert id and time into factor variables
data_supuestos_larga <- supuestos_1 %>%
gather(key = "time", value = "Biomasa", `05_días`, `10_días`, `15_días`, `20_días`, `25_días`, `30_días`, `35_días`, `40_días`, `45_días`, `50_días`, `55_días`, `60_días`) %>%
convert_as_factor(time)
data_supuestos_larga$id= rep(seq(1,30),12)
head(data_supuestos_larga, 5)
## # A tibble: 5 × 3
## time Biomasa id
## <fct> <dbl> <int>
## 1 05_días 2.95 1
## 2 05_días 2.53 2
## 3 05_días 2.68 3
## 4 05_días 2.77 4
## 5 05_días 2.83 5
# Gráfico de cajas (boxplot)
ggplot(data_supuestos_larga, aes(x = time, y = Biomasa)) +
geom_boxplot() + scale_fill_manual(values = rainbow(n_distinct(data_larga$time))) +
labs(title = "Distribución de Biomasa a lo largo del tiempo",
x = "Tiempo",
y = "Biomasa") +
theme_minimal()
#Supuesto de esfericidad (una manera de comparar la variabilidad entre los pares de tiempo
#Comparacion de varianzas entre pares de tiempos
res.aov5 <- anova_test(data = data_supuestos_larga, dv = Biomasa, wid = id, within = time) #`Mauchly's Test for Sphericity`
res.aov5 #Los datos proveen evidencia en contra de la hipotesis nula, lo cual rechaza la hipotesis de esfericidad
## ANOVA Table (type III tests)
##
## $ANOVA
## Effect DFn DFd F p p<.05 ges
## 1 time 11 319 419.484 2.49e-182 * 0.926
##
## $`Mauchly's Test for Sphericity`
## Effect W p p<.05
## 1 time 0.005 1.08e-06 *
##
## $`Sphericity Corrections`
## Effect GGe DF[GG] p[GG] p[GG]<.05 HFe DF[HF] p[HF]
## 1 time 0.56 6.16, 178.65 2.78e-103 * 0.728 8, 232.11 2.11e-133
## p[HF]<.05
## 1 *
get_anova_table(res.aov5) #se rechaza la hipotesis de esfericidad
## ANOVA Table (type III tests)
##
## Effect DFn DFd F p p<.05 ges
## 1 time 6.16 178.65 419.484 2.78e-103 * 0.926
\[H_0= \mu_{t_0}=\mu_{t_5}=\mu_{t_{10}}=\mu_{t_{15}}=\mu_{t_{20}}=\mu_{t_{25}}=\mu_{t_{30}}=\mu_{t_{35}}=\mu_{t_{40}}=\mu_{t_{45}}=\mu_{t_{50}}=\mu_{t_{55}}=\mu_{t_{60}}\]
# Obtener la tabla de ANOVA con los datos de la Comparacion de varianzas entre pares de tiempos de los datos sin transformación
anova_table <- get_anova_table(res.aov)
print(anova_table)
## ANOVA Table (type III tests)
##
## Effect DFn DFd F p p<.05 ges
## 1 time 6.22 180.25 1083.509 1.05e-139 * 0.97
# pairwise comparisons
pwc <- data_larga %>%
pairwise_t_test(
Biomasa ~ time, paired = TRUE,
p.adjust.method = "bonferroni"
)
pwc
## # A tibble: 78 × 10
## .y. group1 group2 n1 n2 statistic df p p.adj
## * <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl>
## 1 Biomasa 0_días 05_días 30 30 -89.9 29 4.94e-37 3.85e-35
## 2 Biomasa 0_días 10_días 30 30 -118. 29 1.82e-40 1.42e-38
## 3 Biomasa 0_días 15_días 30 30 -73.5 29 1.64e-34 1.28e-32
## 4 Biomasa 0_días 20_días 30 30 -70.6 29 5.33e-34 4.16e-32
## 5 Biomasa 0_días 25_días 30 30 -83.8 29 3.79e-36 2.96e-34
## 6 Biomasa 0_días 30_días 30 30 -84.1 29 3.33e-36 2.60e-34
## 7 Biomasa 0_días 35_días 30 30 -96.7 29 5.90e-38 4.6 e-36
## 8 Biomasa 0_días 40_días 30 30 -118. 29 1.69e-40 1.32e-38
## 9 Biomasa 0_días 45_días 30 30 -82.1 29 6.85e-36 5.34e-34
## 10 Biomasa 0_días 50_días 30 30 -77.8 29 3.21e-35 2.5 e-33
## # ℹ 68 more rows
## # ℹ 1 more variable: p.adj.signif <chr>
\[\text{Los datos proveen evidencia en contra de H_0 lo cual indica que la biomasa no se mantuvo constante con el paso del tiempo}\]
# Modelo Lineal Generalizado Mixto
model <- lmer(sqrt_Biomasa ~ time + (1 | id), data = data_larga)
# Comparaciones por pares con letras de agrupamiento (Tukey)
comp <- glht(model, linfct = mcp(time = "Tukey"))
summary(comp)
## Warning in RET$pfunction("adjusted", ...): Completion with error > abseps
## Warning in RET$pfunction("adjusted", ...): Completion with error > abseps
## Warning in RET$pfunction("adjusted", ...): Completion with error > abseps
## Warning in RET$pfunction("adjusted", ...): Completion with error > abseps
##
## Simultaneous Tests for General Linear Hypotheses
##
## Multiple Comparisons of Means: Tukey Contrasts
##
##
## Fit: lmer(formula = sqrt_Biomasa ~ time + (1 | id), data = data_larga)
##
## Linear Hypotheses:
## Estimate Std. Error z value Pr(>|z|)
## 05_días - 0_días == 0 1.68839 0.01522 110.901 <0.01 ***
## 10_días - 0_días == 0 1.75960 0.01522 115.579 <0.01 ***
## 15_días - 0_días == 0 1.78315 0.01522 117.125 <0.01 ***
## 20_días - 0_días == 0 1.81362 0.01522 119.127 <0.01 ***
## 25_días - 0_días == 0 1.88254 0.01522 123.654 <0.01 ***
## 30_días - 0_días == 0 1.92437 0.01522 126.402 <0.01 ***
## 35_días - 0_días == 0 1.98328 0.01522 130.271 <0.01 ***
## 40_días - 0_días == 0 2.07517 0.01522 136.307 <0.01 ***
## 45_días - 0_días == 0 2.13406 0.01522 140.175 <0.01 ***
## 50_días - 0_días == 0 2.19237 0.01522 144.005 <0.01 ***
## 55_días - 0_días == 0 2.27128 0.01522 149.188 <0.01 ***
## 60_días - 0_días == 0 2.41033 0.01522 158.322 <0.01 ***
## 10_días - 05_días == 0 0.07122 0.01522 4.678 <0.01 ***
## 15_días - 05_días == 0 0.09476 0.01522 6.224 <0.01 ***
## 20_días - 05_días == 0 0.12523 0.01522 8.226 <0.01 ***
## 25_días - 05_días == 0 0.19415 0.01522 12.753 <0.01 ***
## 30_días - 05_días == 0 0.23599 0.01522 15.501 <0.01 ***
## 35_días - 05_días == 0 0.29490 0.01522 19.370 <0.01 ***
## 40_días - 05_días == 0 0.38678 0.01522 25.405 <0.01 ***
## 45_días - 05_días == 0 0.44567 0.01522 29.274 <0.01 ***
## 50_días - 05_días == 0 0.50399 0.01522 33.104 <0.01 ***
## 55_días - 05_días == 0 0.58289 0.01522 38.287 <0.01 ***
## 60_días - 05_días == 0 0.72194 0.01522 47.420 <0.01 ***
## 15_días - 10_días == 0 0.02354 0.01522 1.546 0.9457
## 20_días - 10_días == 0 0.05401 0.01522 3.548 0.0226 *
## 25_días - 10_días == 0 0.12293 0.01522 8.075 <0.01 ***
## 30_días - 10_días == 0 0.16477 0.01522 10.823 <0.01 ***
## 35_días - 10_días == 0 0.22368 0.01522 14.692 <0.01 ***
## 40_días - 10_días == 0 0.31556 0.01522 20.728 <0.01 ***
## 45_días - 10_días == 0 0.37446 0.01522 24.596 <0.01 ***
## 50_días - 10_días == 0 0.43277 0.01522 28.426 <0.01 ***
## 55_días - 10_días == 0 0.51168 0.01522 33.609 <0.01 ***
## 60_días - 10_días == 0 0.65072 0.01522 42.743 <0.01 ***
## 20_días - 15_días == 0 0.03047 0.01522 2.002 0.7326
## 25_días - 15_días == 0 0.09939 0.01522 6.528 <0.01 ***
## 30_días - 15_días == 0 0.14123 0.01522 9.277 <0.01 ***
## 35_días - 15_días == 0 0.20014 0.01522 13.146 <0.01 ***
## 40_días - 15_días == 0 0.29202 0.01522 19.181 <0.01 ***
## 45_días - 15_días == 0 0.35091 0.01522 23.050 <0.01 ***
## 50_días - 15_días == 0 0.40923 0.01522 26.880 <0.01 ***
## 55_días - 15_días == 0 0.48813 0.01522 32.063 <0.01 ***
## 60_días - 15_días == 0 0.62718 0.01522 41.196 <0.01 ***
## 25_días - 20_días == 0 0.06892 0.01522 4.527 <0.01 ***
## 30_días - 20_días == 0 0.11075 0.01522 7.275 <0.01 ***
## 35_días - 20_días == 0 0.16966 0.01522 11.144 <0.01 ***
## 40_días - 20_días == 0 0.26155 0.01522 17.180 <0.01 ***
## 45_días - 20_días == 0 0.32044 0.01522 21.048 <0.01 ***
## 50_días - 20_días == 0 0.37875 0.01522 24.878 <0.01 ***
## 55_días - 20_días == 0 0.45766 0.01522 30.061 <0.01 ***
## 60_días - 20_días == 0 0.59671 0.01522 39.195 <0.01 ***
## 30_días - 25_días == 0 0.04184 0.01522 2.748 0.2267
## 35_días - 25_días == 0 0.10075 0.01522 6.618 <0.01 ***
## 40_días - 25_días == 0 0.19263 0.01522 12.653 <0.01 ***
## 45_días - 25_días == 0 0.25152 0.01522 16.521 <0.01 ***
## 50_días - 25_días == 0 0.30984 0.01522 20.352 <0.01 ***
## 55_días - 25_días == 0 0.38874 0.01522 25.535 <0.01 ***
## 60_días - 25_días == 0 0.52779 0.01522 34.668 <0.01 ***
## 35_días - 30_días == 0 0.05891 0.01522 3.870 <0.01 **
## 40_días - 30_días == 0 0.15079 0.01522 9.905 <0.01 ***
## 45_días - 30_días == 0 0.20969 0.01522 13.773 <0.01 ***
## 50_días - 30_días == 0 0.26800 0.01522 17.604 <0.01 ***
## 55_días - 30_días == 0 0.34691 0.01522 22.786 <0.01 ***
## 60_días - 30_días == 0 0.48596 0.01522 31.920 <0.01 ***
## 40_días - 35_días == 0 0.09188 0.01522 6.035 <0.01 ***
## 45_días - 35_días == 0 0.15078 0.01522 9.904 <0.01 ***
## 50_días - 35_días == 0 0.20909 0.01522 13.734 <0.01 ***
## 55_días - 35_días == 0 0.28800 0.01522 18.917 <0.01 ***
## 60_días - 35_días == 0 0.42704 0.01522 28.050 <0.01 ***
## 45_días - 40_días == 0 0.05889 0.01522 3.868 <0.01 **
## 50_días - 40_días == 0 0.11721 0.01522 7.699 <0.01 ***
## 55_días - 40_días == 0 0.19611 0.01522 12.882 <0.01 ***
## 60_días - 40_días == 0 0.33516 0.01522 22.015 <0.01 ***
## 50_días - 45_días == 0 0.05831 0.01522 3.830 <0.01 **
## 55_días - 45_días == 0 0.13722 0.01522 9.013 <0.01 ***
## 60_días - 45_días == 0 0.27627 0.01522 18.147 <0.01 ***
## 55_días - 50_días == 0 0.07891 0.01522 5.183 <0.01 ***
## 60_días - 50_días == 0 0.21796 0.01522 14.316 <0.01 ***
## 60_días - 55_días == 0 0.13905 0.01522 9.133 <0.01 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## (Adjusted p values reported -- single-step method)
# Obtener las letras de agrupamiento
cld_result <- cld(comp, level = 0.05)
## Warning in RET$pfunction("adjusted", ...): Completion with error > abseps
## Warning in RET$pfunction("adjusted", ...): Completion with error > abseps
## Warning in RET$pfunction("adjusted", ...): Completion with error > abseps
## Warning in RET$pfunction("adjusted", ...): Completion with error > abseps
## Warning in RET$pfunction("adjusted", ...): Completion with error > abseps
print(cld_result)
## 0_días 05_días 10_días 15_días 20_días 25_días 30_días 35_días 40_días 45_días
## "a" "b" "c" "cd" "d" "e" "e" "f" "g" "h"
## 50_días 55_días 60_días
## "i" "j" "k"
# A mayor numero de * la diferencia es mas significativa
#Las letras de agrupamiento, indican los grupos de tiempos que no difieren significativamente entre sí en términos de la media de la biomasa. En este caso, los tiempos se agrupan en 8 grupos, cada uno identificado por una letra diferente:
#Grupo "a": 0 días;
#Grupo "b": 5 días;
#Grupo "c": 10 días;
#Grupo "cd": 15 días (No hay diferencias significativas entre 10 - 15 y 15 - 20, pero si 10 - 20 )
#Grupo "d": 20 días
#Grupo "e": 25 días y 30 significa que no hay diferencia significativa en la biomasa entre estos dos tiempos
#Grupo "f": 35 días
#Grupo "g": 40 días
#Grupo "h": 45 días
#Grupo "i": 50 días
#Grupo "j": 55 días
#Grupo "k": 60 días
# Crea el gráfico de cajas
bxp <- ggplot(data_larga, aes(x = time, y = biomasa)) +
geom_boxplot()
# Realiza la prueba de comparaciones múltiples
pwc <- data_larga %>%
pairwise_t_test(Biomasa ~ time, paired = TRUE, p.adjust.method = "bonferroni")
# Asegúrate de que el objeto "pwc" sea numérico
pwc$p.adj <- as.numeric(pwc$p.adj)
# Por ejemplo, si quieres utilizar la variable "biomasa" como "y.position"
data_larga$y.position <- data_larga$Biomasa
# Luego, puedes utilizar la variable "y.position" en tu función
# Por ejemplo, en un gráfico de cajas
bxp <- ggplot(data_larga, aes(x = time, y = y.position)) +
geom_boxplot()
# Realiza la prueba de comparaciones múltiples
pwc <- data_larga %>%
pairwise_t_test(Biomasa ~ time, paired = TRUE, p.adjust.method = "bonferroni")
# Agrega las posiciones x e y a los resultados de la prueba de comparaciones múltiples
pwc <- pwc %>% add_xy_position(x = "time")
# Agrega las etiquetas de valor p al gráfico
bxp_final <- bxp +
stat_pvalue_manual(pwc) +
labs(
subtitle = get_test_label(res.aov, detailed = TRUE),
caption = get_pwc_label(pwc)
)
# Muestra el gráfico
print(bxp_final)