library(ggplot2)
library(dplyr)
install.packages("ez")
library(ez)
blang  = read.table(file.path(pfadu, "blang.txt"))
v.df = read.table(file.path(pfadu,"vokal.txt"))
dg = read.table(file.path(pfadu, "dg.txt"))


######################################################################
# 1. gepaarter t-test und within-subjects ANOVA
######################################################################
head(blang); dim(blang)

# Jede Stufe des unabhängigen within-Faktors (Betonung)
# wird einmal pro Vpn belegt
with(blang, table(Vpn, Betonung))

# Differenz-Berechnung
d = blang%>%
  group_by(Vpn)%>%
  summarise(F2 = diff(F2))
# Boxplot
boxplot(d$F2)
# gepaarter t-Test
t.test(d$F2)
# F2 wurde von der Betonung beeinflusst (t[11] = 4.5, p < 0.01)
# Lösung mit ANOVA
ezANOVA(blang, .(F2), .(Vpn), .(Betonung))
# 2 Betonung   1  11 18.95986 0.001147148     * 0.4113659
# Identifizieren: die F-Statistik = 18.95986; der p-Wert: 0.001147148
# die Freiheitsgrade im Zähler und im Nenner: 1  11
# F2 wurde von der Betonung beeinflusst
# (F[1,11] = 19.0, p < 0.01)
# Beobachten: die F-Statistik ist die t-Statistik hoch 2:
4.3543^2
sqrt(18.95986)

######################################################################
# 2. ungepaarter t-test und between-subjects ANOVA
######################################################################
head(v.df); dim(v.df)
# Die Stufen des unabhängigen between-Faktors
# werden von unterschiedlichen Vpn belegt
with(v.df, table(Vpn, Sprache))
# d.h. jede Reihe ist [1,0] oder [0,1]

# Boxplot oder density plot
ggplot(v.df) + aes(y = F2, x = Sprache) + geom_boxplot()
ggplot(v.df) + aes(x = F2, col = Sprache) + geom_density()


# ungepaarter t-Test
t.test(F2 ~ Sprache, data = v.df)
# F2 wurde von der Sprache beinflusst
# (t[11.8] = 2.7, p < 0.05)
# Lösung mit ANOVA
ezANOVA(v.df, .(F2), .(Vpn), between = .(Sprache))
# 
# F2 wurde von der Sprache beeinflusst
# F[1,18] = 7.2, p < 0.05)
# 
# 
# (Dies nur nebenbei)
####################################################
# Die Bedeutung von dem Levene-Test
# Nur wenn p > 0.05 ist der ANOVA berechtigt

# d.h. ein ANOVA mit between-Faktor wird unter
# der Annahme durchgeführt, dass sich die
# Varianzen in den Stufen nicht  signifikant unterscheiden
# Der ungepaarte t-Test kann geändert werden,
# um diese Annahme zu berücksichtigen mit var.equal=T
# 
t.test(F2 ~ Sprache, data = v.df, var.equal=T)
# t-Statistik: 2.688
# 2.688^2
# gibt 7.225344, die F-Statistik in dem between-Faktor ANOVA
#############################################################

