UNA VÍA (solo factor tiempo)

library(cli)
Warning: package ‘cli’ was built under R version 4.2.3
library(rlang)
Warning: package ‘rlang’ 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 objects are masked from ‘package:stats’:

    filter, lag

The following objects are masked from ‘package:base’:

    intersect, setdiff, setequal, union
library(tidyr)
Warning: package ‘tidyr’ was built under R version 4.2.3
# install.packages("datarium")
# cargar los datos
data("selfesteem", package = "datarium")
datos = selfesteem
boxplot(datos[,-1])

#CONVERTIR FORMATO ANCHO DE TRES COLUMNAS EN LARGO DE UNA SOLA COLUMNA
datos = datos  %>%
  gather(key = "tiempo",
         value = "rto",
         t1, t2, t3) %>%
  mutate_at(vars(id, tiempo), as.factor)
head(datos)
#RESUMEN ESTADISTICO Numérico
datos %>%
  group_by(tiempo) %>%
  summarise(media = mean(rto),
            desv = sd(rto),
            n = n(),
            cv = 100*desv/media)
#RESUMEN ESTADISTICO Gráfico
boxplot(datos$rto ~ datos$tiempo)

#BUSQUEDA DE DATOS ATÍPICOS
library(outliers)
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
datos %>%
  group_by(tiempo) %>%
  identify_outliers(rto)
#SUPUESTOS DE NORMALIDAD
datos %>%
  group_by(tiempo) %>%
 shapiro_test(rto)
NA

determinar si existe la varianza entre los datos de los tiempos sucesivos

#ANALISIS DE VARIANZA

res.aov <- anova_test(data = datos, 
                      dv = rto, 
                      wid = id, 
                      within = tiempo)
get_anova_table(res.aov)
ANOVA Table (type III tests)

  Effect DFn DFd      F        p p<.05   ges
1 tiempo   2  18 55.469 2.01e-08     * 0.829
#SUPUESTO DE ESFERICIDAD (igualdad de varianzas)
res.aov$`Mauchly's Test for Sphericity`

get_anova_table(res.aov)
ANOVA Table (type III tests)

  Effect DFn DFd      F        p p<.05   ges
1 tiempo   2  18 55.469 2.01e-08     * 0.829

p valoes es 2.01e-08 <5% se rechaza la hipótesis nula, el rendimiento no es el mismo en todos los cortes, aparentemente el tercer corte tiene mejores resultados.

#COMPARANDO ENTRE TIEMPOS BONFERRONI (pruebas de comparación)

datos %>%
pairwise_t_test( 
  rto ~ tiempo,
  paired = TRUE,
  p.adjust.method = "bonferroni")
NA

Los valores que se usan para las conslusiones son los que están en la columna de p.adj

Dos vías (un factor nuevo adicional al tiempo)

data("selfesteem2", package = "datarium")
datos2 = selfesteem2
datos2$treatment = gl(2,12,24, c('con fert', 'sin fert'))
head(datos2)

El factor adicional es el uso de fertilizante, control sin fertilizante otras medidas con la aplicación de fertilizante.

#CONVERTIR FORMATO ANCHO DE TRES COLUMNAS EN LARGO DE UNA SOLA COLUMNA
datos2 = datos2 %>%
  gather(key = 'tiempo' , value = 'rto',
         t1, t2, t3)
head(datos2)
#RESUMEN ESTADISTICO Numérico
datos2 %>%
  group_by(treatment, tiempo) %>%
  summarise(media = mean(rto),
            mediana = median(rto),
            desv = sd(rto),
            n = n(),
            cv = 100*desv/media)
`summarise()` has grouped output by 'treatment'. You can override using the `.groups` argument.
#RESUMEN ESTADISTICO Gráfico
library(ggplot2)
ggplot(datos2)+
  aes(tiempo, rto, fill=treatment)+
  geom_boxplot()

NA
#BUSQUEDA DE DATOS ATÍPICOS

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)
ANOVA Table (type III tests)

            Effect  DFn   DFd      F        p p<.05   ges
1        treatment 1.00 11.00 15.541 2.00e-03     * 0.059
2           tiempo 1.31 14.37 27.369 5.03e-05     * 0.049
3 treatment:tiempo 2.00 22.00 30.424 4.63e-07     * 0.050

Primer valor a interpretar es la interacción 4.63e-07 < 5% se rechaza la hipótesis nula, hay interacción.

Las comparaciones POST_HOC se hacen únicamente cuando no hay interacción.

#GRÁFICO DE INTERACIÓN

interaction.plot(datos2$tiempo,
                 datos2$treatment,
                 datos2$rto)

# LO MISMO CON GGPLOT
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.Warning: Ignoring unknown parameters: linewidth

Interacción porque la lineas se cruzan

#SUPUESTO DE ESFERICIDAD (igualdad de varianzas)
res.aov$`Mauchly's Test for Sphericity`
NA

3 vías

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCiMgVU5BIFbDjUEgKHNvbG8gZmFjdG9yIHRpZW1wbykNCg0KYGBge3J9DQpsaWJyYXJ5KGNsaSkNCmxpYnJhcnkocmxhbmcpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeSh0aWR5cikNCiMgaW5zdGFsbC5wYWNrYWdlcygiZGF0YXJpdW0iKQ0KIyBjYXJnYXIgbG9zIGRhdG9zDQpkYXRhKCJzZWxmZXN0ZWVtIiwgcGFja2FnZSA9ICJkYXRhcml1bSIpDQpkYXRvcyA9IHNlbGZlc3RlZW0NCmBgYA0KDQpgYGB7cn0NCmJveHBsb3QoZGF0b3NbLC0xXSkNCmBgYA0KDQpgYGB7cn0NCiNDT05WRVJUSVIgRk9STUFUTyBBTkNITyBERSBUUkVTIENPTFVNTkFTIEVOIExBUkdPIERFIFVOQSBTT0xBIENPTFVNTkENCmRhdG9zID0gZGF0b3MgICU+JQ0KICBnYXRoZXIoa2V5ID0gInRpZW1wbyIsDQogICAgICAgICB2YWx1ZSA9ICJydG8iLA0KICAgICAgICAgdDEsIHQyLCB0MykgJT4lDQogIG11dGF0ZV9hdCh2YXJzKGlkLCB0aWVtcG8pLCBhcy5mYWN0b3IpDQpoZWFkKGRhdG9zKQ0KYGBgDQoNCmBgYHtyfQ0KI1JFU1VNRU4gRVNUQURJU1RJQ08gTnVtw6lyaWNvDQpkYXRvcyAlPiUNCiAgZ3JvdXBfYnkodGllbXBvKSAlPiUNCiAgc3VtbWFyaXNlKG1lZGlhID0gbWVhbihydG8pLA0KICAgICAgICAgICAgZGVzdiA9IHNkKHJ0byksDQogICAgICAgICAgICBuID0gbigpLA0KICAgICAgICAgICAgY3YgPSAxMDAqZGVzdi9tZWRpYSkNCmBgYA0KYGBge3J9DQojUkVTVU1FTiBFU1RBRElTVElDTyBHcsOhZmljbw0KYm94cGxvdChkYXRvcyRydG8gfiBkYXRvcyR0aWVtcG8pDQpgYGANCmBgYHtyfQ0KI0JVU1FVRURBIERFIERBVE9TIEFUw41QSUNPUw0KbGlicmFyeShvdXRsaWVycykNCmxpYnJhcnkocnN0YXRpeCkNCg0KZGF0b3MgJT4lDQogIGdyb3VwX2J5KHRpZW1wbykgJT4lDQogIGlkZW50aWZ5X291dGxpZXJzKHJ0bykNCmBgYA0KDQpgYGB7cn0NCiNTVVBVRVNUT1MgREUgTk9STUFMSURBRA0KZGF0b3MgJT4lDQogIGdyb3VwX2J5KHRpZW1wbykgJT4lDQogc2hhcGlyb190ZXN0KHJ0bykNCg0KYGBgDQoNCmBgYHtyfQ0KDQoNCg0KYGBgDQpkZXRlcm1pbmFyIHNpIGV4aXN0ZSBsYSB2YXJpYW56YSBlbnRyZSBsb3MgZGF0b3MgZGUgbG9zIHRpZW1wb3Mgc3VjZXNpdm9zICANCg0KYGBge3J9DQojQU5BTElTSVMgREUgVkFSSUFOWkENCg0KcmVzLmFvdiA8LSBhbm92YV90ZXN0KGRhdGEgPSBkYXRvcywgDQogICAgICAgICAgICAgICAgICAgICAgZHYgPSBydG8sIA0KICAgICAgICAgICAgICAgICAgICAgIHdpZCA9IGlkLCANCiAgICAgICAgICAgICAgICAgICAgICB3aXRoaW4gPSB0aWVtcG8pDQpnZXRfYW5vdmFfdGFibGUocmVzLmFvdikNCg0KI1NVUFVFU1RPIERFIEVTRkVSSUNJREFEIChpZ3VhbGRhZCBkZSB2YXJpYW56YXMpDQpyZXMuYW92JGBNYXVjaGx5J3MgVGVzdCBmb3IgU3BoZXJpY2l0eWANCg0KZ2V0X2Fub3ZhX3RhYmxlKHJlcy5hb3YpDQoNCmBgYA0KcCB2YWxvZXMgZXMgMi4wMWUtMDggPDUlIHNlIHJlY2hhemEgbGEgaGlww7N0ZXNpcyBudWxhLCBlbCByZW5kaW1pZW50byBubyBlcyBlbCBtaXNtbyBlbiB0b2RvcyBsb3MgY29ydGVzLCBhcGFyZW50ZW1lbnRlIGVsIHRlcmNlciBjb3J0ZSB0aWVuZSBtZWpvcmVzIHJlc3VsdGFkb3MuDQoNCmBgYHtyfQ0KI0NPTVBBUkFORE8gRU5UUkUgVElFTVBPUyBCT05GRVJST05JIChwcnVlYmFzIGRlIGNvbXBhcmFjacOzbikNCg0KZGF0b3MgJT4lDQpwYWlyd2lzZV90X3Rlc3QoIA0KICBydG8gfiB0aWVtcG8sDQogIHBhaXJlZCA9IFRSVUUsDQogIHAuYWRqdXN0Lm1ldGhvZCA9ICJib25mZXJyb25pIikNCg0KYGBgDQpMb3MgdmFsb3JlcyBxdWUgc2UgdXNhbiBwYXJhIGxhcyBjb25zbHVzaW9uZXMgc29uIGxvcyBxdWUgZXN0w6FuIGVuIGxhIGNvbHVtbmEgZGUgcC5hZGoNCg0KIyBEb3MgdsOtYXMgKHVuIGZhY3RvciBudWV2byBhZGljaW9uYWwgYWwgdGllbXBvKQ0KDQpgYGB7cn0NCmRhdGEoInNlbGZlc3RlZW0yIiwgcGFja2FnZSA9ICJkYXRhcml1bSIpDQpkYXRvczIgPSBzZWxmZXN0ZWVtMg0KZGF0b3MyJHRyZWF0bWVudCA9IGdsKDIsMTIsMjQsIGMoJ2NvbiBmZXJ0JywgJ3NpbiBmZXJ0JykpDQpoZWFkKGRhdG9zMikNCmBgYA0KRWwgZmFjdG9yIGFkaWNpb25hbCBlcyBlbCB1c28gZGUgZmVydGlsaXphbnRlLCBjb250cm9sIHNpbiBmZXJ0aWxpemFudGUgb3RyYXMgbWVkaWRhcyBjb24gbGEgYXBsaWNhY2nDs24gZGUgZmVydGlsaXphbnRlLiANCg0KYGBge3J9DQojQ09OVkVSVElSIEZPUk1BVE8gQU5DSE8gREUgVFJFUyBDT0xVTU5BUyBFTiBMQVJHTyBERSBVTkEgU09MQSBDT0xVTU5BDQpkYXRvczIgPSBkYXRvczIgJT4lDQogIGdhdGhlcihrZXkgPSAndGllbXBvJyAsIHZhbHVlID0gJ3J0bycsDQogICAgICAgICB0MSwgdDIsIHQzKQ0KaGVhZChkYXRvczIpDQpgYGANCmBgYHtyfQ0KI1JFU1VNRU4gRVNUQURJU1RJQ08gTnVtw6lyaWNvDQpkYXRvczIgJT4lDQogIGdyb3VwX2J5KHRyZWF0bWVudCwgdGllbXBvKSAlPiUNCiAgc3VtbWFyaXNlKG1lZGlhID0gbWVhbihydG8pLA0KICAgICAgICAgICAgbWVkaWFuYSA9IG1lZGlhbihydG8pLA0KICAgICAgICAgICAgZGVzdiA9IHNkKHJ0byksDQogICAgICAgICAgICBuID0gbigpLA0KICAgICAgICAgICAgY3YgPSAxMDAqZGVzdi9tZWRpYSkNCg0KYGBgDQoNCmBgYHtyfQ0KI1JFU1VNRU4gRVNUQURJU1RJQ08gR3LDoWZpY28NCmxpYnJhcnkoZ2dwbG90MikNCmdncGxvdChkYXRvczIpKw0KICBhZXModGllbXBvLCBydG8sIGZpbGw9dHJlYXRtZW50KSsNCiAgZ2VvbV9ib3hwbG90KCkNCiAgDQpgYGANCmBgYHtyfQ0KI0JVU1FVRURBIERFIERBVE9TIEFUw41QSUNPUw0KDQpkYXRvczIgJT4lDQogIGdyb3VwX2J5KHRyZWF0bWVudCwgdGllbXBvKSAlPiUNCiAgaWRlbnRpZnlfb3V0bGllcnMocnRvKQ0KYGBgDQpgYGB7cn0NCmRhdG9zMiAlPiUNCiAgZ3JvdXBfYnkodHJlYXRtZW50LCB0aWVtcG8pICU+JQ0KICBzaGFwaXJvX3Rlc3QocnRvKQ0KYGBgDQpgYGB7cn0NCnJlcy5hb3YgPC0gYW5vdmFfdGVzdCgNCiAgZGF0YSA9IGRhdG9zMiwNCiAgZHYgPSBydG8sDQogIHdpZCA9IGlkLA0KICB3aXRoaW4gPSBjKHRyZWF0bWVudCwNCiAgICAgICAgICAgICB0aWVtcG8pDQogICkNCmdldF9hbm92YV90YWJsZShyZXMuYW92KQ0KYGBgDQpQcmltZXIgdmFsb3IgYSBpbnRlcnByZXRhciBlcyBsYSBpbnRlcmFjY2nDs24gNC42M2UtMDcgPCA1JSBzZSByZWNoYXphIGxhIGhpcMOzdGVzaXMgbnVsYSwgaGF5IGludGVyYWNjacOzbi4NCg0KTGFzIGNvbXBhcmFjaW9uZXMgUE9TVF9IT0Mgc2UgaGFjZW4gw7puaWNhbWVudGUgY3VhbmRvICpubyBoYXkgaW50ZXJhY2Npw7NuKi4gDQoNCmBgYHtyfQ0KI0dSw4FGSUNPIERFIElOVEVSQUNJw5NODQoNCmludGVyYWN0aW9uLnBsb3QoZGF0b3MyJHRpZW1wbywNCiAgICAgICAgICAgICAgICAgZGF0b3MyJHRyZWF0bWVudCwNCiAgICAgICAgICAgICAgICAgZGF0b3MyJHJ0bykNCmBgYA0KYGBge3J9DQojIExPIE1JU01PIENPTiBHR1BMT1QNCmRhdG9zMiAlPiUNCiAgZ3JvdXBfYnkodGllbXBvLCB0cmVhdG1lbnQpICU+JQ0KICBzdW1tYXJpc2UobWVhbl9ydG8gPSBtZWFuKHJ0bykpICU+JQ0KICBnZ3Bsb3QoKSsNCiAgICBhZXModGllbXBvLCBtZWFuX3J0bywNCiAgICAgIGNvbG9yPXRyZWF0bWVudCwNCiAgICAgIGdyb3VwPXRyZWF0bWVudCkrDQogIGdlb21fcG9pbnQoc2l6ZT01KSsNCiAgZ2VvbV9saW5lKGxpbmV3aWR0aD0zKQ0KYGBgDQpJbnRlcmFjY2nDs24gcG9ycXVlIGxhIGxpbmVhcyBzZSBjcnV6YW4gDQoNCmBgYHtyfQ0KI1NVUFVFU1RPIERFIEVTRkVSSUNJREFEIChpZ3VhbGRhZCBkZSB2YXJpYW56YXMpDQpyZXMuYW92JGBNYXVjaGx5J3MgVGVzdCBmb3IgU3BoZXJpY2l0eWANCg0KYGBgDQoNCiMgMyB2w61hcw0K