使用 lmer() 函数的多级分析中的交互项

interaction term in multilevel analysis using lmer() function

一级变量:

income - continuous 

二级变量:

state's general whether: three leveled categorical variable: hot/moderate/cool

         used effect coded, and generate two variables because it has three levels.
        (weather_ef1, weather_ef2)  


enrolled in university - binary : yes/no  ( effect coded. yes = -1, no =1) 

DV: 数学成绩

分组变量:家庭

模型1:(固定坡度)

Dv 由收入、入学率以及入学率和收入之间的相互作用来预测。 在这种情况下,

lmer(y~ 1 + income + enrollment +income*enrollment+ (1|householdID), data=data)
lmer(y~ 1 + income + enrollment +income:enrollment+ (1|householdID), data=data)

:是为了互动?或者 * 是为了互动?

另外,我必须做factor(enrollment)吗? 还是可以,因为它已经是效果编码的?

模型2:(固定坡度)

DV 由收入、天气以及收入与天气之间的相互作用预测

lmer( y ~ 1 + income  + weather_ef1 + weather_ef2 + weather_ef1*income
 + weather_ef2*income +(1|houshold_id), data) 

lmer ( y ~ l + income + weather_ef1+ weather_ef2 + weather_ef1:income 
+ weather_ef2:income  + (1|houshold_id), data)

仍然混淆 * 是对还是:是对。

我认为效果代码变量已经被效果编码了,所以我不必 确实使用因子(weather_ef1)的东西。

来自文档(使用 ?formula):

The * operator denotes factor crossing: a*b interpreted as a+b+a:b.

换句话说,a*b 添加了 ab 的主效应及其交互作用。因此在您的模型中,当您使用 income*enrollment 时,这与 income + enrollment +income:enrollment 相同。您为每个模型描述的两个版本应该给出相同的结果。您可以使用:

lmer(y~ 1 + income*enrollment+ (1|householdID), data=data)

其中也描述了相同的模型。

如果您的变量是效果编码的,那么您不需要使用 factor 但要注意效果的解释。