1

我使用 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$betadrawhb.post.baseline$betadraw[1,,]

通过这种方式,我可以unique(dataChoice_train)将参与者 ID 分配给我的 betadraws 文件。

有人可以证实这一点吗?有没有更好/更直接的方法将计算的 beta 分配给参与者?

提前致谢!

4

0 回答 0