# Klausurvorbereitende Übung 2

# Vergessen Sie nicht, diese Textdatei regelmaessig zu speichern!

# Viel Erfolg!

# Hier die benoetigten Packages und Funktionen (bitte in R einlesen):
pfadu = "http://www.phonetik.uni-muenchen.de/~jmh/lehre/Rdf"
library(ggplot2)
library(dplyr)
library(ez)
library(lmerTest)
library(emmeans)
source(file.path(pfadu, "phoc.txt"))
source(file.path(pfadu, "sig.fn.R"))

proben <- function(unten = 1,
                   oben = 6,
                   k = 10,
                   N = 50)
{
  # default: wir werfen 10 Wuerfel 50 Mal
  alle <- NULL
  for (j in 1:N) {
    ergebnis = mean(sample(unten:oben, k, replace = T))
    alle = c(alle, ergebnis)
  }
  alle
}



# Hier die benoetigten data.frames:
dk = read.table(file.path(pfadu, "dk.df.txt"))
ie = read.table(file.path(pfadu, "ie.df.txt"))
kj = read.table(file.path(pfadu, "kj2.txt"))
auf = read.table(file.path(pfadu, "aufnahme.df.txt"))



##############################################################################
#Aufgaben 1 - 5:
##############################################################################
# 1. Für diese Daten:
dim(dk)
# wurden Reaktionszeiten (rt) gemessen um Dialekte (Dial) zu erkennen unter zwei verschiedenen 
#Lärmbedingungen. 6 Versuchspersonen (Vpn) nahmen an dem Experiment teil. 
#Erstellen Sie eine Abbildung und führen Sie einen statistischen Test durch, um zu prüfen, 
#ob die Reaktionszeit von dem Dialekt und vom Lärm beeinflusst wird.

ggplot(dk) +
  aes(y = rt, x = Dial, col = Noise) +
  geom_boxplot()

with(dk,table(Vpn,Dial))
#Dial ist within
with(dk,table(Vpn,Noise))
#Noise ist between

with(dk,table(Vpn,interaction(Dial,Noise)))

dk.m = dk %>%
  group_by(Vpn,Dial,Noise) %>%
  summarise(rt = mean(rt))
ggplot(dk.m) +
  aes(y = rt, x = Dial, col = Noise) +
  geom_boxplot()
ezANOVA(dk.m,.(rt),.(Vpn),between = Noise, within = Dial)
# Wir haben nur einen sig. Effekt für Dial
# (F[2,8]=89.8, p < 0.001)
# Eine SC (Sphericity-Correction) war nicht notwendig!


# 2. Für diese Daten:
dim(kj)
# erstellen Sie eine Abbildung - ohne einen statistischen Test durchzuführen - die zeigt,
# inwiefern die Wahl zwischen /s/ und /S/ (Faktor Fric) von der Sozialklasse (Faktor Social) 
# und von Gender (Faktor Gender) beeinflusst wird. 
# Erklären Sie in 1-2 Zeilen, ob Sozialklasse mit Gender interagiert.

ggplot(kj) +
  aes(fill = Fric, x = Gender) +
  geom_bar(position="fill") +
  facet_wrap(~Social)

# Es wird wahrscheinlich eine Interaktion
# zwischen Social und Gender geben,
# denn Geschlecht hat offenbar keinen Einfluss
# innerhalb der Social class UMC, in den beiden 
# anderen Klassen jedoch wahrscheinlich schon!


# 3. Für den selben Data-Frame
dim(kj)

# prüfen Sie anhand einer Abbildung und statistischen Tests, 
# inwiefern die Wahl des Frikatives vom Alter (Faktor Age) beeinflusst wurde.
ggplot(kj) +
  aes(fill = Fric, x = Age) +
  geom_bar(position="fill")

kj.glm = glm(Fric~Age,data=kj,family=binomial)
anova(kj.glm,test="Chisq")

# Ja, ALter hat einensig. Einfluss auf die Frikative
# X^2[2]=17.4 , p < 0.001

# 4.
# Die Daten unten zeigen VOT Werte von 9 Sprechern bevor (davor) und 
# nach dem (danach) Sie auditive Stimuli wahrgenommen hatten. 
# Prüfen Sie durch eine Abbildung und statistischen Test, 
# ob die Wahrnehmung einen Einfluss auf VOT hatte.
davor = c(30, 0, 60, 70, 40, 30, 20, 10, 40)
danach = c(50, 10, 50, 70, 100, 90, 70, 110, 80)

boxplot(danach-davor)
shapiro.test(danach-davor)
t.test(danach-davor)
# Ja, die Wahrnehmung hatte einen Einfluss auf die VOTs
# (t[8]=3.14, p < 0.05)

# 5. Für diese Daten:
dim(auf)
# wurden Reaktionszeiten von 36 Versuchpersonen (Vpn) darunter Kindern, Jugendlichen, 
# und Erwachsenen (Faktor Gruppe) auf verschiedene Wörter (Faktor Wort) gemessen. 
# Die Reaktionszeiten wurden entweder im Studio oder draußen mit Lärm erhoben (Faktor Ort). 
# Prüfen Sie durch eine Abbildung und geeigneten statistischen Test inwiefern die 
# Reaktionszeiten von der Gruppe und vom Ort beeinflusst wurden.



auf$Vpn
auf$Gruppe
auf$Ort
auf$rt

with(auf,table(Vpn,Ort))
#Ort within
with(auf,table(Vpn,Gruppe))
#Gruppe between
with(auf,table(Wort,Ort))
#Ort ist between zu Wort
with(auf,table(Wort,Gruppe))
#Gruppe within zu Ort

auf.lmer = lmer(rt ~ Gruppe*Ort + 
                  (Ort|Vpn) + 
                  (Gruppe|Wort),
                data=auf) 
auf.step = step(auf.lmer)
anova(get_model(auf.step))
anova(lmer(rt ~ Gruppe + Ort + (1 | Vpn) + (1 | Wort),data=auf))


# Es gab einen sig. Haupteffekt für Gruppe (F[2,9.0]=7.3, p < 0.05)
# und für Ort (F[1,10.0]=31.0, p < 0.001); aber es gab keine 
# Interaktion zwischen beiden Faktoren.

ggplot(auf) +
  aes(y = rt,x=Gruppe,col=Ort) +
  geom_boxplot()

pairs(emmeans(get_model(auf.step),~Gruppe))

# Kinder unterscheiden sich sowohl von Erwachsenen (p < 0.05) 
# als auch von Jugendlichen (p < 0.05), es gibt aber keine sig. Unterschiede
# zwischen Jugendlichen und Erwachsenen.


