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

mlogit练习3报错:'varying参数长度必须一致'问题求助

选择实验数据转换为dfidx格式报错问题

我正在参照mlogit包的练习3处理自定义选择实验数据,数据结构如下:

structure(list(Choice.Set = c(4L, 5L, 7L, 8L, 10L, 12L), Alternative = c(2L, 
1L, 1L, 2L, 2L, 2L), respondent = c(1L, 1L, 1L, 1L, 1L, 1L), 
    code = c(7L, 9L, 13L, 15L, 19L, 23L), Choice = c(1L, 1L, 
    1L, 1L, 1L, 1L), price1 = c(0L, 0L, 1L, 1L, 0L, 0L), price2 = c(0L, 
    1L, 0L, 0L, 1L, 1L), price3 = c(0L, 0L, 0L, 0L, 0L, 0L), 
    price4 = c(1L, 0L, 0L, 0L, 0L, 0L), price5 = c(0L, 0L, 0L, 
    0L, 0L, 0L), zone1 = c(0L, 0L, 0L, 1L, 1L, 1L), zone2 = c(0L, 
    0L, 0L, 0L, 0L, 0L), zone3 = c(1L, 0L, 1L, 0L, 0L, 0L), zone4 = c(0L, 
    1L, 0L, 0L, 0L, 0L), lic1 = c(0L, 0L, 0L, 0L, 0L, 0L), lic2 = c(1L, 
    0L, 1L, 0L, 1L, 1L), lic3 = c(0L, 1L, 0L, 1L, 0L, 0L), enf1 = c(0L, 
    0L, 1L, 0L, 1L, 0L), enf2 = c(0L, 0L, 0L, 1L, 0L, 1L), enf3 = c(1L, 
    1L, 0L, 0L, 0L, 0L), chid = 1:6), row.names = c(4L, 5L, 7L, 
8L, 10L, 12L), class = "data.frame")

运行以下转换代码时出现错误:

dfml <- dfidx(df, idx=list(c("chid", "respondent")), 
              choice="Alternative", varying=6:20, sep ="")

错误信息:

Error in reshapeLong(data, idvar = idvar, timevar = timevar, varying = varying, :
'varying' arguments must be the same length

我已检查6到20列的长度一致,但部分受访者对部分选项的选择次数更多,这是我首次分析选择实验数据,希望有人指出问题所在。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 05:25:14