emmeansposthoclmertest

Error post hoc emmeans for lmerTest model with many observations


I ran a mixed model with lmerTest and I need a post-hoc test.

The following is the model, each trial in a row. Then, I use emmeans but get the following error (probably because of the large number of observations).

I would appreciate help or another way to run a post-hook because other ways I tried also did not work. P. S. when I try to add the argument 'lmerTest.limit = 13812' it simply does not work.

lmerTest :: lmer (RT ~ condition * pronoun * objectification_center +
(1+ pronoun| subject_ID),
data = data)```


emm1 = emmeans(mixed_model_RT_comp, specs = pairwise ~ condition:pronoun)

 Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
To enable adjustments, add the argument 'pbkrtest.limit = 13812' (or larger)
[or, globally, 'set emm_options(pbkrtest.limit = 13812)' or larger];
but be warned that this may result in large computation time and memory use.
Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
To enable adjustments, add the argument 'lmerTest.limit = 13812' (or larger)
[or, globally, 'set emm_options(lmerTest.limit = 13812)' or larger];
but be warned that this may result in large computation time and memory use.
NOTE: Results may be misleading due to involvement in interactions```


Solution

  • From what I read in this question, you do get results. Just do:

    emm1
    

    and you will see them.

    The messages shown in the OP are just that -- messages, not errors. Because you have so many observations, it uses asymptotic results (z tests instead of t tests, indicated by Inf degrees of freedoom). This bypasses the extremely taxing computations required to use the Kenward-Roger or Satterthwaite degrees of freedom. You can get the same results, without either of the first two messages, by specifying emmeans(..., lmer.df = "asymp").

    When you say "when I try to add the argument lmerTest.limit = 13812 it simply does not work," I suspect that what is really happening is that the computer seems to lock up; that is because of the huge amount of computation required to obtain the Satterthwaite degrees of freedom.

    The third message says it may not be a good idea to compute marginal means when an interaction is involved. You should do some plots or tests or something to make sure it's sensible to average over objectification_center. Look at summary(mixed_model_RT_comp) and look at the tests of the interactions with objectification_center. If any of them are significant, you probably shouldn't be averaging over that factor, and instead using specs = pairwise ~ condition:pronoun | objectification_denter. If those interactions are non-significant, consider re-fitting the model without those interactions.