library(MASS)
library(lme4)
library(lattice)
library(ez)
library(multcomp)
source(file.path(pfadu, "phoc.txt"))
source(file.path(pfadu, "sigmoid.txt"))


# Frage 1
links = c(527, 542, 513, 502, 542, 535, 543, 508, 539, 546, 544, 533, 524, 523, 550, 526, 531, 512,549, 524)
rechts = c(524, 550, 545, 541, 524, 529, 549, 555, 554, 539, 552, 550, 555, 536, 554, 545, 523, 545, 525, 542)
boxplot(links - rechts)
t.test(links - rechts)
# Ohr hatten einen signifikanten Einfluss auf die Reaktionszeiten (t[19] = 2.6, p < 0.05)

# oder äquivalent aber viel umständlicher
d = c(links, rechts)
vpn = rep(paste("S", 1:length(links)), 2)
Ohr = c(rep("L", length(links)), rep("R", length(links)))
ohr.df = data.frame(d, Vpn=factor(vpn), Ohr = factor(Ohr))
t.test(d ~ Ohr, paired=T)

# Frage 2
db = read.table(file.path(pfadu, "dbwerte2.txt"))
plot(dB ~ Dauer, data = db)
# eventuell krumm
o = lm(dB ~ Dauer + I(Dauer^2), data = db)
stepAIC(o)
# Modell noch einmal ohne 'Dauer'
o2 = update(o, ~ . -Dauer)
summary(o2)

plot(dB ~ Dauer, data = db)
a = coef(o2)
curve(a[1] + a[2]*x^2, add=T)

# dB kann aus der Dauer vorhergesagt werden (R^2=0.43, F[1,98] =  74.8, p < 0.001)

# Frage 3
svot = read.table(file.path(pfadu, "svot.txt"))
boxplot(VOT ~ G * Region, data = svot)
# es gibt A, B, C, Unterschiede sowie m vs. w außer in A (daher Interaktion...)
ezANOVA(svot, .(VOT), .(Vpn), between = .(G, Region))
p = phoc(svot, .(VOT), .(Vpn), .(G, Region))
round(phsel(p$res), 3)
round(phsel(p$res, 2), 3)
# Gender (F[1,18] = 9.8, p < 0.01) und Region (F[2,18] = 48.7, p < 0.001)
# beeinflusst VOT und es gab eine signifikante Interaktion
# (F[2,18] = 4.0, p < 0.05) zwischen diesen Faktoren. Post-hoc t-tests
# mit Bonferroni Korrektur zeigten signifikante Unterschiede
# zwischen den Regionen A und C in Männern (p < 0.05) und in Frauen (p < 0.01)
# und Unterschiede zwischen den Regionen A und B in Frauen (p < 0.01)
# sonst keine signifikanten Unterschiede.

# Frage 4
ga = read.table(file.path(pfadu, "gavowel.txt"))
# Über die Wiederholungen mitteln
m = with(ga, aggregate(d, list(Sprache, Vpn, V), mean))
names(m) = c("Sprache", "Vpn", "V", "d")
boxplot(d ~ Sprache * V, data = m)
# Unterschiede zwischen A und D vor allem in /I/ daher Interaktion
ezANOVA(m, .(d), .(Vpn), .(V), .(Sprache))
p = phoc(m, .(d), .(Vpn), .(V, Sprache))
round(phsel(p$res), 3)
round(phsel(p$res, 2), 3)
# Sprache (F[1,18] = 41.9, p < 0.001) und Vokal (F[1,18] = 29.0, p < 0.001)
# hatten einen signifikanten Einfluss auf F2 und es gab
# eine signifikante Interaktion zwischen diesen Faktoren
# (F[1,18] = 15.7, p < 0.001). Post-hoc Tests zeigten
# Unterschiede zwischen den Sprachgruppen in /I/ (p < 0.01)
# aber nicht in /i:/. Es gab Unterschiede zwischen /I, i:/
# für die Deutschen (p < 0.01) aber nicht für die Österreicher.

# Frage 5
ldec = read.table(file.path(pfadu, "ldec.txt"))
# besser mit MM und Wort und Vpn auszuklammern
boxplot(RT ~ Sprache, data = ldec)
o = lmer(RT ~ Sprache + (1|Vpn) + (1|Word), data = ldec)
ohne = update(o, ~ . -Sprache)
anova(o, ohne)
# RT wurde signifikant von der Sprache beeinflusst
# (X^2[1] = 6.2, p < 0.05)

# Frage 6
pal = read.table(file.path(pfadu, "sdat.txt"))
tab = with(pal, table(Alter, Fric, Correct))
p = prop.table(tab, 1:2)
barchart(p, auto.key=T, horizontal=F)
# a > j sowohl in s als auch in S. 
o = lmer(Correct ~ Alter * Fric + (1|Vpn), family=binomial, data = pal)
# Interation prüfen
o2 = update(o, ~ . -Alter:Fric)
anova(o, o2)
# Keine Interaktion. Daher die Faktoren getrennt testen
ohne = lmer(Correct ~ 1 + (1|Vpn), family=binomial, data = pal)
o3 = lmer(Correct ~ Alter + (1|Vpn), family=binomial, data = pal)
o4 = lmer(Correct ~ Fric + (1|Vpn), family=binomial, data = pal)
anova(ohne, o3)
anova(ohne, o4)
# Alter (X^2[1] = 9.8, p < 0.01) jedoch nicht Frikativ beeinflusste
# signifikant die Entscheidungen.

# Alternativ
ohne = update(o2, ~ . -Fric -Alter)
o3 = update(ohne, ~ . +Alter)
o4 = update(ohne, ~ . +Fric)
anova(ohne, o3)
anova(ohne, o4)






