# MinutePlot validation -- Two-way repeated-measures ANOVA (two within-subject factors)
# Install once (skip on later runs):
#   install.packages(c("ez"))   # exactly what THIS script uses

# Load packages (every session):
library(ez)

# Versions (compare against those stated on this page):
cat(R.version.string, "\n")
for (p in c("ez")) cat(p, as.character(packageVersion(p)), "\n")

# Load data:
d <- read.csv("rm2_longitudinal_r.csv")   # same folder as script
d$subject <- factor(d$subject); d$factorA <- factor(d$factorA); d$factorB <- factor(d$factorB)

# Analysis (one print per table shown on the page, in page order):
print(summary(aov(value ~ factorA * factorB + Error(subject/(factorA * factorB)), data = d)))   # each effect against its own error stratum
print(ezANOVA(d, dv = value, wid = subject, within = .(factorA, factorB), detailed = TRUE))       # Mauchly, GG / HF epsilon and corrected p
