如何使用emmeans对具有多层分类预测变量的序数混合模型进行事后分析?

时间:2019-07-24 10:46:04

标签: r mixed-models posthoc emmeans

我用四个预测变量进行了序贯混合模型;所有这些都是序数或多级分类的。在模型比较中,我发现了重要的主要作用和交互作用,但是现在我想分解交互作用。

一些示例数据

library(tidyverse)
library(ordinal)

# Mock data

mock_dat <- data.frame(subj = rep(1:10, each = 8),
                       sex = rep(c("M", "F"), each = 40),
                       score = sample(1:5, 80, replace = T),
                       category = rep(c("A", "A", "B", "B", "C", "C", "D", "D"), 10),
                       item = rep(1:8, 10))

# Deviation coding

mock_dat$dev.sex <- scale(ifelse(mock_dat$sex=="F",1,0), center=TRUE, scale=FALSE)
mock_dat$AB <- scale(ifelse(mock_dat$category=="B",1,0), center=TRUE, scale=FALSE)
mock_dat$AC <- scale(ifelse(mock_dat$category=="C",1,0), center=TRUE, scale=FALSE)
mock_dat$AD <- scale(ifelse(mock_dat$category=="D",1,0), center=TRUE, scale=FALSE)

# Response as factor

mock_dat$score <- as.factor(mock_dat$score)

# Model

mod <- clmm(score ~ dev.sex + AB + AC + AD +
              dev.sex:AB + dev.sex:AC + dev.sex:AD +
              (1 + AB + AC + AD | subj) +
              (1 | item), data = mock_dat)

# Model comparison

no_sex <- update(mod, . ~ . - dev.sex)

no_cat <- update(mod, . ~ . - AB - AC - AD)

no_sex.cat <- update(mod, . ~ . - dev.sex:AB - dev.sex:AC - dev.sex:AD)

现在,假设类别产生了显着影响,性别与类别之间发生了显着相互作用。

我将如何进行事后比较,即查看类别的每个水平如何影响得分以及该影响如何根据性别(互动)而变化?

到目前为止,我已经设法推断出可以使用emmeans了,但是输出结果绝对是一团糟,我不确定是否需要重新编码预测变量,如果这些预测变量足以在它们出现时仅仅查看它们偏差编码了吗?如果有人可以告诉我他们如何使用emmeans进行事后比较,这些数据将非常有帮助!

0 个答案:

没有答案