## Daten von Katalin
## Inwiefern haben Stress und Vokal auf ratio einen Einfluss?
vr = read.table(paste(pfad, "vr.txt", sep="/"))
vr[,3] = factor(vr[,3])
vr.lmer = lmer(ratio ~ vowel * stress + (1|subj), data=vr)


# visual lexical decision latencies
# Haben Sprache und Wortlaenge einen signifikanten Einfluss auf
# die Reaktionszeiten?
lex.lmer = lmer(rt ~ Length * Lang  + (1 | Subj) + (1 | Word), data=lex)
anova(lex.lmer)
# Die Freiheistgrade: Anzahl der Stichproben - Anzahl der df im Nenner
nrow(lex) - 3
# Wahrscheinlichkeiten fuer Lang:
1 - pf(6.2976, 1, 1553)
# NB fast das gleiche Ergebnis mit 70 dfs
1 - pf(6.2976, 1, 70)

# Trial koennte eine Rolle spielen. d.h. es gibt vielleicht
# eine pro Vpn und pro Word Variation in Trial. 
# Trial ist jedoch fixed-effect.

xylowess.fnc(rt ~ Trial | Subj, data=lex)
xylowess.fnc(rt ~ Trial | Word, data=lex)
lex.lmerb = lmer(rt ~ Length * Lang * Trial  + (1 + Trial | Subj) + (1 | Word), data=lex)

# Hoehere F-Werte fuer die Variablen die uns interessieren (Lang, Length)
# Vielleicht gibt es auch eine Wort-bedingte Variation in Trial
lex.lmerc = lmer(rt ~ Length * Lang * Trial  + (1 + Trial | Subj) + (1 + Trial | Word), data=lex)

# Unterscheiden sich lex.lmerb und lex.lmerc?
anova(lex.lmerb, lex.lmerc)

# Nein. Wir bleiben dann bei dem einfacheren Modell lex.lmerb, der sich
# von lex.lmera unterscheidet
anova(lex.lmera, lex.lmerb)

# Length ist signifikant, Lang ist signifikant
anova(lex.lmerb)
# Graphische Darstellung von Length, Lang, und Interaktion
xyplot(rt ~ Length | Lang, lex)
boxplot(rt ~ Lang, data=lex)
densityplot(~rt | Length, lex, groups=Lang, auto.key=T)
densityplot(~rt | Length, lex, groups=Lang, auto.key=T, strip.left=T)

densityplot(~rt | Length, lex, layout=c(1, 8), groups=Lang, auto.key=T, strip.left=T)

# Unterscheidet sich die Gruppe English in Length?
temp = with(lex,  Lang == "English")
lexengl = lex[temp,]
lmer.engl = lmer(rt ~ Length * Trial  + (1 + Trial | Subj) + (1 + Trial | Word), data=lexengl)
# Length ist signifikant
1 - pf(7.4754, 1, nrow(lexengl))

# Unterscheidet sich die Gruppe Other in Length?
lexother = lex[!temp,]
lmer.other = lmer(rt ~ Length * Trial  + (1 + Trial | Subj) + (1 + Trial | Word), data=lexother)
anova(lmer.other)

### Daten von Anna
anna = read.table("/Volumes/Data_1/d/anna.txt")
anna.lmer1 = lmer(cbind(Incorrect, Correct) ~ Cond * Vow * Cons + (1 | Sp) + (1 | W), data=anna, family=binomial)


anna.lmer2 = lmer(cbind(Incorrect, Correct) ~ Cond + Vow + Cons + Cond:Vow +  (1 | Sp) + (1 | W), data=anna, family=binomial)

anova(anna.lmer1, anna.lmer2)

# Regression getrennt durchfuehren fuer "i" und fuer "a"
temp = with(anna, Vow=="i")
anna.i = anna[temp,]
anna.a = anna[!temp,]
anna.i.lmer = lmer(cbind(Incorrect, Correct) ~ Cond + Cons + Cond:Cons  + (1 | Sp) + (1 | W), data=anna.i, family=binomial)
anna.i.lmer2 = lmer(cbind(Incorrect, Correct) ~ Cond + Cons   + (1 | Sp) + (1 | W), data=anna.i, family=binomial)

anna.a.lmer = lmer(cbind(Incorrect, Correct) ~ Cond * Cons  + (1 | Sp) + (1 | W), data=anna.a, family=binomial)

### Daten von Yuki
yuki.lmer1 = lmer(cbind(P, Q) ~ Mode * L1 * H1 + (1|VP) + (1|Stim), data=yuki, family=binomial)
print(yuki.lmer1, corr=F)

yuki.lmer2 = lmer(cbind(P, Q) ~ Mode + L1 + H1 + (1|VP) + (1|Stim), data=yuki, family=binomial)
anova(yuki.lmer1, yuki.lmer2)

# daher
print(yuki.lmer2, corr=F)

yuki.lmer3 = lmer(cbind(P, Q) ~ Stim + (Stim|VP), data=yuki, family=binomial)





temp = with(yuki, VP) == 1 & with(yuki, Mode)=="E"
d1 = yuki[temp,]

o = glm(cbind(P, Q) ~ 1:10, family=binomial, data=d1)


yuki.lmer3 = lmer(cbind(P, Q) ~ Stim + (1|VP) , family=binomial, data=yuki)
m = coef(yuki.lmer3)$VP[,2]
k = coef(yuki.lmer3)$VP[,1]




$VP[,2])
k = coef(yuki.lmer3$VP[,1])



# Berechnung vom Umkipppunkt pro Faktor getrennt pro Vpn
y.lmerc = lmer(cbind(P, Q) ~ Stim * Mode + (1|VP) +  data=yuki, family=binomial)


# zB um die 2 Stufen vom Mode zu vergleichen
# fuer Vpn
temp = with(yuki, VP)==1
y = yuki[temp,]
logy = glm(cbind(P, Q) ~ Mode, family=binomial, data=y)




Vow2 = with(anna, relevel(Vow, "i"))
anna.lmer3 = lmer(cbind(Incorrect, Correct) ~ Cond + Vow2 + Cons + Cond:Vow2 +  (1 | Sp) + (1 | W), data=anna, family=binomial)

Cond2 = with(anna, relevel(Cond, "q"))
anna.lmer4 = lmer(cbind(Incorrect, Correct) ~ Cond2 + Vow2 + Cons + Cond2:Vow2 +  (1 | Sp) + (1 | W), data=anna, family=binomial)












## Daten von Yuki
p = with(yuki, P/(P+Q))

yuki.lmer = lmer(cbind(P, Q) ~ Stim * Mode + (1 + Stim | VP), family="binomial", data=yuki)
yuki.lmer = lmer(cbind(P, Q) ~ Stim * Mode + (1  | VP), family="binomial", data=yuki)

yuki.lmer2 = lmer(cbind(P, Q) ~  Mode + (1   | VP) + (1 | Stim), family="binomial", data=yuki)


yuki.lmer3 = lmer(cbind(P, Q) ~  Mode * L1 + (1   | VP) + (1 | Stim), family="binomial", data=yuki)
yuki.lmer3 = lmer(cbind(P, Q) ~  Mode + L1 + (1   | VP) + (1 | Stim), family="binomial", data=yuki)
yuki.lmer3 = lmer(cbind(P, Q) ~  Mode + L1 + H1 + (1   | VP) + (1 | Stim), family="binomial", data=yuki)
yuki.lmer4 = lmer(cbind(P, Q) ~  Mode + L1 + H1 + (1 +Stim  | VP),  family="binomial", data=yuki, verbose=T)


yuki.lmer3 = lmer(cbind(P, Q) ~  Mode + (1   | VP), family="binomial", data=yuki)

###########
### Logistische Regression: Daten von Anna
xylowess.fnc(ratio ~ vowel | subj, data=vr)






























xyplot(rt ~ Length, lex, groups=Lang, auto.key=T)




# Subject and Word as Random factors
lex.lmera = lmer(rt ~ Length * Trial + (1 + Trial|Subj) + (1 + Trial| Word), data=lex)
anova(lex.lmera)


# Trial als fixed factor 
lex.lmerb = lmer(rt ~ Length * Trial + (1 + Trial|Subj) + (1 + Trial| Word), data=lex)


lex.lmerc = lmer(rt ~ Length * Trial + (1 + Trial|Subj) + (1 | Word), data=lex)


lex.lmerd = lmer(rt ~ Length * Trial * Lang + (1 + Trial|Subj) + (1 | Word), data=lex)
---------------------------------------
lex.lmerf = lmer(rt ~ Length + Trial + Lang  + Length:Lang + (1 + Trial|Subj) + (1 | Word), data=lex)




anova(lex.lmera, lex.lmerc)

anova(lex.lmerd, lex.lmerf)


==========================================================
lex.lmerg = lmer(rt ~ Length + Trial + Lang  + Length:Lang + (0 + Trial|Subj) + (1 | Word), data=lex)

lex.lmerh = lmer(rt ~ 0 + Length + Trial + Lang  + Length:Lang + (1 + Trial|Subj) + (1 | Word), data=lex)


anova(lex.lmerf, lex.lmerg)


##### 
# just the intercept
lex.lmera = lmer(rt ~ Length * Trial + (1 |Subj) + (1 | Word), data=lex)
# Baayen: in the F-table the maximum number of dfs and subtract
# the number of fixed effects parameters
lex.pnc = pvals.fnc(lex.lmera, withMCMC=T)


# correlated intercept and slope
lex.lmerb = lmer(rt ~ Length * Trial + (1 + Trial|Subj) + (1 + Trial| Word), data=lex)

# uncorrelated intercept and slope
lex.lmerc = lmer(rt ~ Length * Trial + (0 + Trial|Subj) + (1 |Subj) + (1 + Trial| Word), data=lex)





lex.lmerd = lmer(rt ~ Length * Trial  + (1 | Trial:Subj) + (1 | Word), data=lex)


 dotplot(ranef(lex.lmera, postVar = TRUE), strip = FALSE)
