我正在尝试使用以下脚本运行多级回归分析。
M5 <- lmer(
health_complaints ~ thinkbody_3cat_ref + IOTF3_ref + sex_ref + age_GMC +
fas_sum + thinkbody_3cat_ref*IOTF3_ref +(1|id2),
data=HBSC2022_FlemishDataset_18_06_completecases,
REML=FALSE
)
summary(M5)
所有类别都是虚拟编码的。变量IOTF3和thinkbody_3cat_ref都是具有三个类别的分类变量。然而,在下面的输出中,我没有看到不同类别之间的估计值,这使得很难解释交互效应(这是显着的)。
Linear mixed model fit by maximum likelihood . t-tests use Satterthwaite's
method [lmerModLmerTest]
Formula: health_complaints ~ thinkbody_3cat_ref + IOTF3_ref + sex_ref +
age_GMC + fas_sum + thinkbody_3cat_ref * IOTF3_ref + (1 | id2)
Data: HBSC2022_FlemishDataset_18_06_completecases
AIC BIC logLik deviance df.resid
36405.8 36474.3 -18193.9 36387.8 14981
Scaled residuals:
Min 1Q Median 3Q Max
-4.0264 -0.6266 0.1417 0.7446 2.5101
Random effects:
Groups Name Variance Std.Dev.
id2 (Intercept) 0.01745 0.1321
Residual 0.65524 0.8095
Number of obs: 14990, groups: id2, 196
Fixed effects:
Estimate Std. Error df t value
# (Intercept) 3.968e+00 3.717e-02 5.185e+03 106.750
thinkbody_3cat_ref -2.342e-01 9.115e-03 1.494e+04 -25.694
IOTF3_ref -2.491e-02 1.595e-02 1.493e+04 -1.562
sex_ref -4.731e-01 1.400e-02 1.442e+04 -33.780
age_GMC -3.744e-02 3.971e-03 6.149e+02 -9.429
fas_sum 1.656e-02 3.544e-03 1.464e+04 4.674
thinkbody_3cat_ref:IOTF3_ref 2.926e-02 1.038e-02 1.491e+04 2.818
Pr(>|t|)
# (Intercept) < 2e-16 ***
thinkbody_3cat_ref < 2e-16 ***
IOTF3_ref 0.11834
sex_ref < 2e-16 ***
age_GMC < 2e-16 ***
fas_sum 2.98e-06 ***
thinkbody_3cat_ref:IOTF3_ref 0.00484 **
# ---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Correlation of Fixed Effects:
(Intr) thn_3_ IOTF3_ sex_rf ag_GMC fas_sm
thnkbdy_3c_ -0.161
IOTF3_ref -0.133 0.238
sex_ref -0.196 -0.163 -0.016
age_GMC 0.015 -0.019 0.046 0.034
fas_sum -0.903 0.031 0.019 0.046 0.065
t_3_:IOTF3_ 0.069 -0.486 -0.792 0.051 -0.044 0.020
有没有人知道什么是错误的或经历了同样的问题?
我尝试更新lme4包。
1条答案
按热度按时间wz3gfoph1#
正如@Axeman评论的那样,如果你说的“dummy coded”是指(例如)
IOTF3_ref
被编码为(0,1,2)或(1,2,3),那根本就不起作用/不是R中的方式;如果一个变量是'numeric'类型,R会假设你想把它作为一个数值协变量。要在R中的模型中使用分类预测因子,请将其设置为factor
,理想情况下保留原始标签(例如“男性”、“女性”或“巧克力”、“草莓”、“香草”)。然后,R将自动设置模型所需的虚拟变量(具有n
水平的分类变量将生成n-1
二进制虚拟变量)。如何设置虚拟变量(* 对比度编码 *)取决于如何设置options("contrast")
;默认值为 * 治疗编码 *。特别是当每个因子有两个以上的水平时,使用像
emmeans
这样的包以方便的形式获得模型输出/比较可能是最简单的。