I am measuring response times in a behavioral task. The study design has two within-subjects factors: Context (high/low) and Condition (easy/medium/hard). I want to include random intercepts and slopes for both main effects as well as the highest-order within-subjects interaction term (as advised in Barr, 2013). Here is how I have specified my model:
m.1 <- glmer(RT ~ Context * Condition + (1+Context*Condition|Subject),
family = Gamma, data = df, control=glmerControl(optimizer="nloptwrap2"))
However, I am having some trouble understanding how the above model (m.1) differs from the following model specification (m.2)
m.2 <- glmer(RT ~ Context * Condition + (1|Subject) + (1|Subject:Condition) +
(1|Subject:Context) + (1|Subject:Context:Condition),
family = Gamma, data = df, control=glmerControl(optimizer="nloptwrap2"))
Specifically, because this is a fully within-subjects design, I do not understand why the following random effect terms are not essentially equivalent (i.e., both allowing the effect of Condition to vary across Subjects):
(1|Subject:Condition)
(1+Condition|Subject)
Update: As requested by amoeba, here are random effect variance estimates from each model (n.b. 'Group' factor = 'Context'):
m.1
Random effects:
Groups Name Variance Std.Dev. Corr
Subject (Intercept) 0.0022827 0.04778
Condition1 0.0004068 0.02017 -0.24
Condition2 0.0001646 0.01283 0.36 -0.69
Group1 0.0004263 0.02065 -0.20 0.04 -0.08
Condition1:Group1 0.0002221 0.01490 -0.22 -0.19 0.21 0.65
Condition2:Group1 0.0001072 0.01035 0.32 0.18 -0.40 -0.39 -0.71
Residual 0.0321836 0.17940
Number of obs: 1445, groups: Subject, 25
m.2
Random effects:
Groups Name Variance Std.Dev.
Subject:Group:Condition (Intercept) 0.0003518 0.01876
Subject:Condition (Intercept) 0.0001530 0.01237
Subject:Group (Intercept) 0.0005468 0.02338
Subject (Intercept) 0.0020285 0.04504
Residual 0.0325439 0.18040
Number of obs: 1445, groups: Subject:Group:Condition, 144; Subject:Condition, 75; Subject:Group, 49; Subject, 25