Confusion over group and subject id


Author
Message
pops
pops
Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)
Group: Forum Members
Posts: 69, Visits: 85
Hi there,
I am sorry to have to ask such a simple question but am a bit confused about between subjects assignment to groups. In a recent experiment I set two groups of participants to receive two different versions of the task. I set group assignment to be 'random' hoping that equal numbers of subjects would be assigned to group 1 or 2 (I got this from the documentation:  https://www.millisecond.com/support/docs/current/html/viewer.htm#https://www.millisecond.com/support/docs/current/html/language/attributes/groupassignment.htm)

<expt>
/blocks = [1=informedConsentBlock;2 = initialInstructions; 3 = survey.initialInstructionsSurvey; 4 =practice; 5 = faceExptInstructionsReward;
6 = experimentWarning; 7-10 = faceBlocksReward; 11=DASS; 12 = summary; 13=recordEmail]
/ subjects = (1 of 2)
/ groupassignment = random
/ postinstructions = (page.thankYouScreen)
</expt>

<expt>
/blocks = [1=informedConsentBlock;2 = initialInstructions; 3 = survey.initialInstructionsSurvey; 4 =practice; 5 = faceExptInstructionsNoReward;
6 = experimentWarning; 7-10 = faceBlocksNoReward; 11=DASS; 12 = summary; 13=debriefblock]
/ subjects = (2 of 2)
/ groupassignment = random
/ postinstructions = (page.thankYouScreen)
</expt>

Although participants were assigned by Inquisit to group 1 or group 2, this variable seems to be totally meaningless and does not correspond to the version of the experiment that they did! Luckily I have been able to work out what version they actually did from the block code but I am intrigued as to what exactly went wrong. Millisecond received subject IDs from SONA but it does not seem as if the odd numbers did v1 and the even numbers did v2. Instead it seems totally random as to which version of the task they did (and there are 2/3 of people assigned to the v1). Could you please advise on how should I have randomly assigned pp to the two versions of the task (without relying on ID number?).

Much appreciated
pops
pops
Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)
Group: Forum Members
Posts: 69, Visits: 85
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K

<expt>
/blocks = [1=informedConsentBlock;2 = initialInstructions; 3 = survey.initialInstructionsSurvey; 4 =practice; 5 = faceExptInstructionsReward;
6 = experimentWarning; 7-10 = faceBlocksReward; 11=DASS; 12 = summary; 13=recordEmail]
/ subjects = (1 of 2)
/ groupassignment = random
/ postinstructions = (page.thankYouScreen)
</expt>

<expt>
/blocks = [1=informedConsentBlock;2 = initialInstructions; 3 = survey.initialInstructionsSurvey; 4 =practice; 5 = faceExptInstructionsNoReward;
6 = experimentWarning; 7-10 = faceBlocksNoReward; 11=DASS; 12 = summary; 13=debriefblock]
/ subjects = (2 of 2)
/ groupassignment = random
/ postinstructions = (page.thankYouScreen)
</expt>

You didn't assing condition by group number. If you wanted to do that, you would have needed to specify

/ groupassignment = groupnumber

as detailed in the documentation. https://www.millisecond.com/support/docs/current/html/language/attributes/groupassignment.htm



When set to random, the assignment has no relationship to the group or subject number. It's simply random, like a coin flip.

pops
pops
Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)
Group: Forum Members
Posts: 69, Visits: 85
Thanks for clarification. But how do I assign them to groups? Is that what the /subjects = (1 of 2) thing does? So if I had set the following:

<expt>
/blocks = [1=informedConsentBlock;2 = initialInstructions; 3 = survey.initialInstructionsSurvey; 4 =practice; 5 = faceExptInstructionsReward;
6 = experimentWarning; 7-10 = faceBlocksReward; 11=DASS; 12 = summary; 13=recordEmail]
/ subjects = (1 of 2)
/ groupassignment = groupnumber
/ postinstructions = (page.thankYouScreen)
</expt>

<expt>
/blocks = [1=informedConsentBlock;2 = initialInstructions; 3 = survey.initialInstructionsSurvey; 4 =practice; 5 = faceExptInstructionsNoReward;
6 = experimentWarning; 7-10 = faceBlocksNoReward; 11=DASS; 12 = summary; 13=debriefblock]
/ subjects = (2 of 2)
/ groupassignment = groupnumber
/ postinstructions = (page.thankYouScreen)
</expt>

Would subjects in group 1 have done version 1 of the task and subjects in 2 have done version 2 of the task? Or do I need something else? This was run online using inquisit player so I don't have the option to enter 'group' at the start of the experiment. Sorry, I just need to get this straight for next time as it is not behaving as I expected.

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
pops - 8/31/2022
Thanks for clarification. But how do I assign them to groups? Is that what the /subjects = (1 of 2) thing does? So if I had set the following:

<expt>
/blocks = [1=informedConsentBlock;2 = initialInstructions; 3 = survey.initialInstructionsSurvey; 4 =practice; 5 = faceExptInstructionsReward;
6 = experimentWarning; 7-10 = faceBlocksReward; 11=DASS; 12 = summary; 13=recordEmail]
/ subjects = (1 of 2)
/ groupassignment = groupnumber
/ postinstructions = (page.thankYouScreen)
</expt>

<expt>
/blocks = [1=informedConsentBlock;2 = initialInstructions; 3 = survey.initialInstructionsSurvey; 4 =practice; 5 = faceExptInstructionsNoReward;
6 = experimentWarning; 7-10 = faceBlocksNoReward; 11=DASS; 12 = summary; 13=debriefblock]
/ subjects = (2 of 2)
/ groupassignment = groupnumber
/ postinstructions = (page.thankYouScreen)
</expt>

Would subjects in group 1 have done version 1 of the task and subjects in 2 have done version 2 of the task? Or do I need something else? This was run online using inquisit player so I don't have the option to enter 'group' at the start of the experiment. Sorry, I just need to get this straight for next time as it is not behaving as I expected.

> Would subjects in group 1 have done version 1 of the task and subjects in 2 have done version 2 of the task?

Yes. Also see https://forums.millisecond.com/Topic13856.aspx

> This was run online using inquisit player so I don't have the option to enter 'group' at the start of the experiment.

Nobody needs to enter anything. You simply choose a method to generate group IDs in your web experiment's settings.



pops
pops
Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)
Group: Forum Members
Posts: 69, Visits: 85
Ok thank you. That was indeed how it was set up in the experiment. I am just surprised that group number does not correspond in any way with the version of the task they actually did. But will try it again soon using the / groupassignment = groupnumber line instead.

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
pops - 8/31/2022
Ok thank you. That was indeed how it was set up in the experiment. I am just surprised that group number does not correspond in any way with the version of the task they actually did. But will try it again soon using the / groupassignment = groupnumber line instead.

> I am just surprised that group number does not correspond in any way with the version of the task they actually did.

As I tried to explain in my first reply, that is because you did not assign version by groupnumber. You told the script to assign version randomly per /groupassignment = random. Thus the groupnumber was not relevant for version assignment.

pops
pops
Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)Esteemed Member (2.4K reputation)
Group: Forum Members
Posts: 69, Visits: 85
Yes, a trap for young players! I totally misinterpreted what it was doing. Thanks as always for your clear explanation and I do understand how it works now. Out of interest, when would the feature of /groupassignment = random be useful? i.e. when would one be wanting a random group Id that was not related to between subjects version? Is the idea that you use a 'if group == 1 then' command to control task behaviour throughout the script?

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
pops - 8/31/2022
Yes, a trap for young players! I totally misinterpreted what it was doing. Thanks as always for your clear explanation and I do understand how it works now. Out of interest, when would the feature of /groupassignment = random be useful? i.e. when would one be wanting a random group Id that was not related to between subjects version? Is the idea that you use a 'if group == 1 then' command to control task behaviour throughout the script?

> Out of interest, when would the feature of /groupassignment = random be useful?

It's useful in a couple of situations, specifically when you cannot use subject ID or group ID for condition assignment, because they're already used for other purposes. Keep in mind that condition assignment is a mathematical operation, so it only works on numerical IDs. For example:
- The subject IDs you need to deal with are not numerical (e.g. Qualtrics IDs), so you can't use subject ID for condition assignment.
- You need the group ID to assign a condition in a batch script.

<batch>
/ subjects = (1 of 2)
/ groupassignment = groupnumber
/ file = "a.iqx"
/ file = "b.iqx"
</batch>

<batch>
/ subjects = (2 of 2)
/ groupassignment = groupnumber
/ file = "c.iqx"
/ file = "d.iqx"
</batch>

Then, if in any of the 4 scripts a.iqx to d.iqx above you also need to do some kind of condition assighment, you can fall back on /groupassignment = random.

/ groupassignment = random is also useful in non-web situations, for example if your protocol requires experimenters to be blind to condition assignment in a lab setting.
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search