Función simple completamente al azar.
Función simple en bloques al azar.
Función compleja completamente al azar.
Función compleja en bloques al azar.
\[H_0 = \mu_{t1} = \mu_{t2} = \mu_{t3}\]
#install.packages("datarium")
library(datarium)
data("selfesteem", package = "datarium")
datos = selfesteem
head(datos, 3)
boxplot(datos)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyr)
# install.packages("datarium")
data("selfesteem", package = "datarium")
datos = selfesteem
datos = datos %>%
gather(key = "tiempo",
value = "rto",
t1, t2, t3) %>%
mutate_at(vars(id, tiempo), as.factor)
View(datos)
boxplot(datos)
datos %>%
group_by(tiempo) %>%
summarise(media = mean(rto),
desv = sd(rto),
n = n(),
cv = 100*desv/media)
boxplot(datos$rto ~ datos$tiempo)
library(rstatix)
##
## Attaching package: 'rstatix'
## The following object is masked from 'package:stats':
##
## filter
datos %>%
group_by(tiempo) %>%
identify_outliers(rto)
datos %>%
group_by(tiempo) %>%
shapiro_test(rto)
res.aov <- anova_test(data = datos,
dv = rto,
wid = id,
within = tiempo)
# Esfericidad
res.aov$`Mauchly's Test for Sphericity`
get_anova_table(res.aov)
Se compara los diferentes tiempos sucesivos entre si, para poder ver su variabilidad (t1 - t2, t1 - t3, t2 - t3).
Si es >5% se puede asumir que las varianzas son iguales, por lo que habria que probar otra metodología de análisis.
# Se usa el p-valor ajustado (p.adj)
datos %>%
pairwise_t_test(
rto ~ tiempo, paired = TRUE,
p.adjust.method = "bonferroni")
# Wide format
data("selfesteem2", package = "datarium")
datos2 = selfesteem2
View(datos2)
datos2 = selfesteem2
datos2$treatment = gl(2,12,24, c('con fert', 'sin fert'))
datos2 = datos2 %>%
gather(key='tiempo', value = 'rto',
t1,t2,t3)
datos2 %>%
group_by(treatment, tiempo) %>%
summarise(media = mean(rto),
desv = sd(rto),
n = n(),
cv = 100*desv/media)
## `summarise()` has grouped output by 'treatment'. You can override using the
## `.groups` argument.
library(ggplot2)
ggplot(datos2)+
aes(tiempo, rto, fill=treatment)+
geom_boxplot()
datos2 %>%
group_by(treatment, tiempo) %>%
identify_outliers(rto)
datos2 %>%
group_by(treatment, tiempo) %>%
shapiro_test(rto)
res.aov <- anova_test(
data = datos2,
dv = rto,
wid = id,
within = c(treatment,
tiempo)
)
get_anova_table(res.aov)
datos2 %>%
group_by(treatment, tiempo) %>%
identify_outliers(rto)
datos2 %>%
group_by(treatment, tiempo) %>%
shapiro_test(rto)
interaction.plot(datos2$tiempo,
datos2$treatment,
datos2$rto)
datos2 %>%
group_by(tiempo, treatment) %>%
summarise(mean_rto = mean(rto)) %>%
ggplot()+
aes(tiempo, mean_rto,
color=treatment,
group=treatment)+
geom_point(size=5)+
geom_line(linewidth=3)
## `summarise()` has grouped output by 'tiempo'. You can override using the
## `.groups` argument.