Between-subject design - eye-tracking data - is my model correctly specified in lmer? I’m struggling to figure out the right model specification for eye-tracking data.
The design is a repeated measures with between-subject factors ‘visual-world’ eye-tracking study:
Two types of participants (L1_L2 Speakers), 32 subjects in the L1 group and 24 subjects in the L2 group, each of the subjects is tested to the two conditions (tense: past vs future). Each subject exposed to 10 past and 10 future tense sentences while viewing scenes with many objects, but the data includes only the fixations from two target objects.
Independent variables (IV) are Participants (L1 vs. L1 Speakers) and sentence tense (Past vs. Future tense). Dependent variable (DV) is fixation durations: a participant looks to a particular object at a given time, which gives a continuous variable (time ('t' in model)) on a categorical variable (gaze location).
I'm interested in whether L2 speakers differ from the L1 group in processing tense sentences. My first question: I am not sure if I can conduct the empirical logit analysis when in one group I have fewer participants than in another group.
The following model has been used for the L1 group within-subject design (which is similar to the model on this page: talklab.psy.gla.ac.uk/tvw/elogit-wt.html):
1000ms <- lmer(elog ~ tense.ct*t + (1|ParticipantName),  
               data=bySubj1000, weights=1/wts) % 

The second question is I'm unclear about the between-subject with this model. It seems there are, in principle, different ways to test for an effect of type (L1 vs. L2) in this design, and I'm not sure how different they are, or which one makes more sense. One approach is just to treat type (L1_L2) as a standard fixed effect.
E.g. something like:
a1000ms <- lmer(elog ~ tense.ct*L1_L2.ct*t + (1|ParticipantName), data=bySubj1000, weights=1/wts)

Or:
b1000ms <- lmer(elog ~ tense.ct*L1_L2.ct*t + 
                (1+L1_L2.ct*t|ParticipantName), data=bySubj1000, 
           weights=1/wts)

Or even
c1000ms <- lmer(elog ~ tense.ct*L1_L2.ct*t + 
                (1+tense.ct*L1_L2.ct*t|ParticipantName), 
                data=bySubj1000, weights=1/wts)  

 A: TL/DR: It helps to write down the model in hierarchical notation. This way it becomes clear what slopes are randomly varying. Only level-1 variables can have randomly varying slopes in a 2-level model (as this one). So here I discuss what I think is your intent.
For simplicity I'm not discussing the weights since they enter into the estimation, not the model construction. Also, we'll use the regular notation of $y_{ij}$ even though your outcome is on the logit scale, it's still a normal multilevel model.
In the syntax for your first model you have:
1000ms <- lmer(elog ~ tense.ct*t + (1|ParticipantName), data=bySubj1000, weights=1/wts)
This is the following model:
$$
y_{ij} = \beta_{0j} + \beta_{1j} \times Tense + \beta_{2j} \times Time + \beta_{3j} \times Tense*Time + e_{ij}
$$
and at level 2 (participant level):
$$
\beta_{0j} = \gamma_{00} + u_{0j} \\
\beta_{1j} = \gamma_{10} \\
\beta_{2j} = \gamma_{20} \\
\beta_{3j} = \gamma_{30}
$$
This is a straightforward model with random intercepts for each Participant. You asked about unbalanced groups, which isn't too much of a problem in GLME model setting. You don't want the groups too unbalanced but it's not like repeated measures ANOVA where the groups must have identical sizes.
Now to the effect of Language. This is a level-2 (participant) variable, so it is entered as a fixed effect as in the first of your models a1000ms. However, it seems you'd like to test a cross-level interaction between language and tense. First, you should verify that the tense effect varies substantially from participant to participant. This would be akin to changing the equation for $\beta_{1j}$ above to
$$
\beta_{1j} = \gamma_{10} + u_{0j}
$$
And your model syntax becomes:
1000ms <- lmer(elog ~ tense.ct*t + (tense.ct|ParticipantName), data=bySubj1000, weights=1/wts)
The results of this model will illustrate whether there is variability in the tense slopes. If so, you can model that variability with an interaction between tense and language. Note here that the link you provide uses all possible interactions, which may be a part of the particular method, but seems superfluous. To only insert the fixed effect of Language and the cross level interaction, your the $\beta_{ij}$ equation changes to:
$$
\beta_{1j} = \gamma_{10} + \gamma_{11}\times Language + u_{0j}
$$
and your syntax to:
1000ms <- lmer(elog ~ tense.ct*t + L1_L2.ct + L1_L2.ct:tense.ct + (tense.ct|ParticipantName), data=bySubj1000, weights=1/wts)
The remaining options you have insert variables into the random-effects part of the formula that seem to be inappropriate based on your design. Essentially, any variable that is inserted to the left of the | ParticipantName is flagging a randomly varying coefficient. So that's a 1 if only the intercepts at level 2 are varying. Then, you add variables that you think have random slopes (not often more than 1 or two), and these need to be level-1 variables. Language is a participant variable (not a characteristic of a trial) so it stays as a fixed effect. You model the interaction of language and tense to get the effect you're looking for.
