You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R使用mlogit包运行mixed logit模型出现Formula error报错如何解决

错误原因

你的报错由模型公式不符合mlogit包的语法规范导致:
mlogit的公式默认采用三段式结构,用竖线|分隔三类变量:

  • 竖线左侧:随备选方案不同而变化的变量
  • 第一个竖线右侧:随选择情境/个体变化、同一情境下所有备选方案取值一致的变量
  • 第二个竖线右侧:同时随个体和备选方案变化的变量

你写的is_choice ~ 1只指定了第一部分的截距项,没有对后续部分做声明,公式解析时读取到空内容就会触发语法错误。

解决方法

仅运行截距项模型

如果不需要引入其他解释变量,在公式末尾加| 0声明后续部分无变量即可正常运行:

mlogit(is_choice ~ 1 | 0, sim, shape = "long", alt.var = "site", chid.var = "trip", id.var = "angler")

适配混合Logit建模需求

你模拟数据中包含随方案变化的term和方案标识变量term2,如果要估计term的随机系数,参考写法如下:

# 混合Logit模型,指定term的系数服从正态分布
mlogit(is_choice ~ term + term2 | 0, 
       data = sim, 
       shape = "long", 
       alt.var = "site", 
       chid.var = "trip", 
       id.var = "angler",
       rpar = c(term = "n"))

内容的提问来源于stack exchange,提问作者Charlie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:15:06