首页 > 解决方案 > 在 R 中的 mlogit 中指定随机效应(有人可以与 lme4 进行比较吗?)

问题描述

过去我通常分析准确性数据,因此我使用 lme4 包来运行二项式逻辑模型。在 lme4 中,我可以像这样指定随机效果(参与者和项目):

glmer(Outcome ~ Condition + (1|Participant) + (1|Item), family=binomial, data = Data)

我第一次使用 mlogit 包来分析来自行为实验的多项数据。参与者用三个可能的选项回答多项选择题。每个问题的三个选项都是相同的。

根据在线指导,我使用 difidx() 对数据进行了格式化:

Model_data <- dfidx(data=Data, choice="Selected", alt.levels=c("Choice1", "Choice2", "Choice3"), shape="wide", idx = list(c("chid", "Participant", "Item")))

我在 idx 列表中指定了参与者和项目,因为这些列具有面板信息(参与者 ID 和项目 ID),我希望将其作为随机效应包含在模型中。

然后,我使用以下代码成功运行了多项模型而不使用随机效应:

Model <- mlogit(Selected ~ 1 | Condition, data=Model_data, reflevel="Choice1")

尽管阅读了小插图和其他类似的堆栈溢出问题,但我无法弄清楚如何在模型中加入随机效应。由于参与者回答了多个问题,并且项目被重复,我知道我应该指定 rpar() 并将其作为面板数据。我尝试了以下方法:

Model_random <- mlogit(Selected ~ 1 | Condition, rpar=c(Participant = "n", Item = "n"), data=Model_new, reflevel="Choice1", panel=TRUE)

但是,我收到错误:mlogit.start 中的错误(公式 = 公式,数据 = 数据,mf = mf,开始 = 开始,:未知随机参数

我已经看到了其他示例,其中在 rpar() 中输入了感兴趣的条件,所以我不知道我是否错误地解释了语法。对于我的具体示例,我能否就如何包含参与者和项目的随机效应提出建议?谢谢!

标签: rlme4multinomialmlogitrandom-effects

解决方案


推荐阅读