## 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 + (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) 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)