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)


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

Or even

c1000ms <- lmer(elog ~ tense.ct*L1_L2.ct*t + 
                data=bySubj1000, weights=1/wts)  
  • $\begingroup$ Why the logistic tag??? Can you please add variable definitions? $\endgroup$ Commented Apr 23, 2021 at 12:56
  • $\begingroup$ Can you please add those as an edit to the post? Not everybody reads comments ... $\endgroup$ Commented Apr 23, 2021 at 17:24
  • $\begingroup$ Thank you for your suggestion. I just edited the post. $\endgroup$
    – da_a
    Commented Apr 23, 2021 at 17:47
  • $\begingroup$ I think I can answer this but I'm still a bit confused. You say time is a DV, yet it's on the RHS of your model formula. What is elog is this the categorical gaze location? Or do you have one model for time and one for gaze location? $\endgroup$
    – Rick Hass
    Commented Apr 23, 2021 at 17:53
  • $\begingroup$ Thanks for your comment! Yes, elog is the categorical gaze location. I don't have two models. I'm not sure how to explain elog but this page may help :talklab.psy.gla.ac.uk/tvw/elogit-wt.html $\endgroup$
    – da_a
    Commented Apr 23, 2021 at 18:11

1 Answer 1


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.

  • $\begingroup$ Thanks so much for the detailed response - and sorry my previous comments do not seem to be saved. One clarification QUESTION, when you say "as in the first of your models" you mean the model a1000ms (and not the model b1000ms), correct? Thank you! $\endgroup$
    – da_a
    Commented May 5, 2021 at 10:05
  • $\begingroup$ oops fixed it to say model a $\endgroup$
    – Rick Hass
    Commented May 27, 2021 at 20:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.