我有来自离散选择实验 (DCE) 的数据,研究了来自不同行业的个人的招聘偏好。我已经格式化为长格式。我想使用 mlogit 建模。我已经导出了数据,并且可以使用 asclogit 命令在 Stata 中成功运行模型,但是我无法让它在 R 中运行。
这是前 25 行数据的快照:
> data[1:25,]
userid chid item sector outcome cul fit ind led prj rel
1 11275 211275 2 1 1 0 1 0 1 1 1
2 11275 211275 2 2 0 1 0 0 0 0 0
3 11275 211275 2 0 0 0 0 1 1 0 1
4 11275 311275 3 0 1 1 1 0 0 0 1
5 11275 311275 3 2 0 0 1 0 0 0 1
6 11275 311275 3 1 0 0 1 0 0 0 0
7 11275 411275 4 0 0 1 0 1 1 0 0
8 11275 411275 4 2 1 0 1 1 1 1 0
9 11275 411275 4 1 0 0 1 0 1 0 0
10 11275 511275 5 1 1 1 0 1 0 1 1
11 11275 511275 5 2 0 0 0 1 1 0 0
12 11275 511275 5 0 0 0 0 1 1 1 0
13 11275 611275 6 0 0 0 1 1 0 0 1
14 11275 611275 6 1 1 1 1 1 0 0 1
15 11275 611275 6 2 0 1 1 1 0 1 0
16 11275 711275 7 1 0 0 0 0 0 1 0
17 11275 711275 7 0 0 1 0 0 1 1 0
18 11275 711275 7 2 1 1 0 0 1 1 1
19 11275 811275 8 0 1 0 1 0 0 1 1
20 11275 811275 8 1 0 1 0 1 1 1 1
21 11275 811275 8 2 0 0 0 0 0 1 1
22 11275 911275 9 0 0 1 1 0 0 1 0
23 11275 911275 9 2 1 1 1 1 1 0 1
24 11275 911275 9 1 0 1 0 1 1 0 0
25 11275 1011275 10 0 0 0 0 0 0 0 0
userid 和 chid 是因子变量,其余是数字变量。变量: Userid 是唯一的受访者 ID chid 是唯一的选择集 ID 每个受访者项目是选择集 ID(它们在受访者中重复) 部门是替代品(3 个不同的部门) 结果是受访者在给定的选择集 cul-rel 中选择的替代品是二元因子变量,是根据实验设计在备选方案中变化的备选方案。
这是我的 mlogit 语法:
mlogit(outcome~cul+fit+ind+led+prj+rel,shape="long",
data=data,id.var=userid,chid.var="chid",
choice=outcome,alt.var="sector")
这是我得到的错误:
Error in if (abs(x - oldx) < ftol) { :
missing value where TRUE/FALSE needed
我已确保没有丢失数据,并且每个选项集都有 1 个选定的选项。当模型在具有完全相同数据集的 Stata 中运行良好时,关于我为什么会收到此错误的任何想法?我可能在某处误读了 mlogit 语法。如果有帮助,我的 Stata 语法是: asclogit 结果 cul fit rel ind fit led prj, case(chid) alternatives(sector)