
Role_Id
Role_Id是一个数字系统变量,用于识别多用户研究中的每个参与者。它仅在研究被转化为多参与者研究后才存在(请参见设置中的多用户研究);标准的单参与者研究没有用到它。
目的
多用户研究可以让两个或更多参与者在同一运行会话中参与,但默认情况下,每位参与者的实验作为其他参与者的相同且未经区分的副本运行。没有任何东西区分一个参与者和另一个参与者,直到某些东西明确这样做。Role_Id就是这种区分:它为会话中的每个参与者提供了一个稳定的身份,事件逻辑可以对其进行操作,而无需收集任何个人信息。它不包含姓名,没有浏览器指纹,也没有其他识别细节,只有一个数字。
如何分配
当参与者加入多用户会话时,每个没有预定义角色的参与者在他们连接的顺序中,按升序获得一个Role_Id,从1开始。预定义的链接也可以将特定的Role_Id固定到该链接,在这种情况下,分配是由参与者使用的链接而不是连接顺序来固定的。
如何使用
Role_Id在Requirement Action中读取,这是整个事件系统中使用的相同If/Then条件逻辑,根据参与者分支行为。一个常见的模式:
- 如果
Role_Id等于1,则显示一组内容,例如目标图像和文本输入。 - 如果
Role_Id等于2(或者使用Else Case,除了1之外的任何东西),则显示不同的一组内容,例如一组候选图像而没有目标。
这是多用户设计的机制,每个参与者在互动中扮演不同的角色,一个参与者提出建议而另一个响应,一个参与者描述而另一个猜测,或任何需要角色不同的研究。哪个Role_Id映射到哪个角色在研究构建时决定;基础研究逻辑无论哪个数字最终分配给哪个角色都以相同方式工作。
Role_Id仅区分参与者。它并不会自行在它们之间移动任何信息,那是Distribute Variable操作的任务。有关将Role_Id与Distribute Variable和帧同步结合成有效多用户模式的完整过程,请参见构建多用户研究。
常见问题
Role_Id在整个研究中保持不变吗?
是的。`Role_Id`是一个会话范围的变量:它在参与者匹配到会话时分配一次,并在该会话的其余部分永远不重新分配。
参与者的角色可以在研究中途改变吗?
不可以,设置后没有机制可以重新分配`Role_Id`。如果设计需要角色在一段时间内似乎发生变化,例如在轮流进行的游戏中交替谁提议,请用自己的变量(计数器或从数据框中读取的值)单独跟踪,并将其与`Role_Id`结合在您的Requirement Action条件中,而不是期待`Role_Id`本身发生变化。