我使用 ChoiceModelR 来分析联合设计。每个参与者必须回答 12 个选项集,每个选项集由 3 个选项和无选项组成。6 个变量描述了选择选项。
我的 ChoiceModelR 输入数据如下所示:
> head(dataChoice_train)
participantID ques alt V_1 V_2 V_3 V_4 V_5 V_6 choice.cbc
1 12628880 1 1 3 6 3 2 1 1 2
2 12628880 1 2 1 5 3 1 5 2 0
3 12628880 1 3 2 3 4 2 5 1 0
4 12628880 2 1 4 2 1 2 1 1 2
5 12628880 2 2 6 7 3 3 3 2 0
6 12628880 2 3 1 5 4 1 5 2 0
参与者 12628880 拥有前 12 * 3 = 36 行,接下来的 36 行属于参与者 12628881,依此类推。
我跑
hb.post.baseline <- choicemodelr(data=dataChoice_train, xcoding=rep(0, 6),
mcmc=list(R=20000, use=10000),
options=list(save=TRUE,none=TRUE))
> dim(hb.post.baseline$betadraw)
[1] 846 23 1000
我得到了所有 846 名参与者和所有 23 个变量的不同实现(不包括每个变量的参考实现)。我得到了 1000 个估计值,符合标准保持值 10。
我的问题:
我担心的是我的参与者的顺序。我希望,什么都没有改变,但我不确定。我希望(属于参与者 12628880)的前 36 行将在(so in )dataChoice_train
的顶层表示。hb.post.baseline$betadraw
hb.post.baseline$betadraw[1,,]
通过这种方式,我可以unique(dataChoice_train)
将参与者 ID 分配给我的 betadraws 文件。
有人可以证实这一点吗?有没有更好/更直接的方法将计算的 beta 分配给参与者?
提前致谢!