tl; dr:您的模型已经说明了您重复测量的事实。尽管如此,如果它适合,您最好使用:
glmer(y ~ x1*x2 + (x1:x2|subject), family=binomial)
但如果这不可控,您可以尝试:
glmer(y ~ x1*x2 + (1|subject) + (0+x1|subject) + (0+x2|subject), family=binomial)
有关此处语法的解释,请参阅:R 的 lmer 备忘单。
完整版: 您无需“告诉” Rx1和x2是重复测量变量。(这实际上只是一个小的语义区别,但是)我不会说变量可以是“重复测量变量”与“非重复测量变量”。变量只是变量。我会说,例如,“变量 1 在患者体内测量,变量 2 在患者之间测量”或类似的东西。当然,你的措辞很好,你只是不希望它导致一些混乱,你认为重复测量是变量固有的某种本体状态。
无论如何,您不需要告诉 R 变量是在人体内测量的,您只需使用随机和/或固定效应来制定模型,以说明来自同一个人的数据的非独立性。(是的,您可以使用固定效应来解释这一点:每个人都将是包含的分类变量的一个级别。但是,这将回答一个稍微不同的问题——几乎肯定不是你感兴趣的问题——除非如果您在每种条件组合中对同一个人进行多次测量,则该模型将难以处理。)在实践中,您将使用随机效应来解释这一点。具体来说,您将对每个主题产生随机影响。
接下来,您需要指定您想要的随机效果。您使用的语法(1|subject), 将导致 R 包含每个人的随机截距。这将相对于平均值向上或向下移动某人的最佳拟合线。您应该考虑人们是否也可能在斜率上有所不同——即,他们对变量变化的反应有多强烈。您还应该考虑随机效应是否相互关联,例如,也许开始时较高的人x1=0也往往对增加的反应更强烈x1. 常见的建议是包括所有可能的随机效应和相互关系(Barr 等人,2013,“保持最大”,pdf)。但是,请记住,GLMM 在计算上比 LMM 更难,因此这样的模型可能难以处理。