By alexandra.vasilache  9/19/2023
Dear Millisecond community,
I have programmed an experiment comprising 6 different experimental conditions. I would like to have these conditions counterbalanced within my 2 experimental groups, so that each condition is repeated an equal number of times within each group. I plan to have 82 participants in total, so 41 per each group. The code below assigns every 6th participant to a specific condition, the problem is that in the end, conditions are not equally distributed within the 2 groups. For example, condition 4 gets repeated 9 times in group 1 and only 5 times in group 2.
Do you have any idea how I could modify the code so that each 6th participant is assigned to a specific condition within each group, and each condition is repeated an approximately equal number of times in both groups?
I would really appreciate the help!

By Dave  9/19/2023
+xDear Millisecond community, I have programmed an experiment comprising 6 different experimental conditions. I would like to have these conditions counterbalanced within my 2 experimental groups, so that each condition is repeated an equal number of times within each group. I plan to have 82 participants in total, so 41 per each group. The code below assigns every 6th participant to a specific condition, the problem is that in the end, conditions are not equally distributed within the 2 groups. For example, condition 4 gets repeated 9 times in group 1 and only 5 times in group 2. Do you have any idea how I could modify the code so that each 6th participant is assigned to a specific condition within each group, and each condition is repeated an approximately equal number of times in both groups? I would really appreciate the help! I guess it's unclear to me what, exactly, you consider to be your two groups and how, consequently, you arrived at the following statement: "[C]onditions are not equally distributed within the 2 groups. For example, condition 4 gets repeated 9 times in group 1 and only 5 times in group 2."
Please elaborate in sufficient detail.

By alexandra.vasilache  9/20/2023
+x+xDear Millisecond community, I have programmed an experiment comprising 6 different experimental conditions. I would like to have these conditions counterbalanced within my 2 experimental groups, so that each condition is repeated an equal number of times within each group. I plan to have 82 participants in total, so 41 per each group. The code below assigns every 6th participant to a specific condition, the problem is that in the end, conditions are not equally distributed within the 2 groups. For example, condition 4 gets repeated 9 times in group 1 and only 5 times in group 2. Do you have any idea how I could modify the code so that each 6th participant is assigned to a specific condition within each group, and each condition is repeated an approximately equal number of times in both groups? I would really appreciate the help! I guess it's unclear to me what, exactly, you consider to be your two groups and how, consequently, you arrived at the following statement: "[C]onditions are not equally distributed within the 2 groups. For example, condition 4 gets repeated 9 times in group 1 and only 5 times in group 2." Please elaborate in sufficient detail. Dear Dave,
Thanks for your reply! Hereby the clarification:
I have two experimental groups: waitlist control and treatment. Participants have been already randomly assigned to these 2 groups (not in Inquisit lab, I have an Excel sheet with their specific group assignment). So when I run the experiment I manually input the group number of each participant from that Excel sheet. I cannot change their random group assignment, that's why I haven't programmed it in Inquisit. For this specific task that I have programmed in Inquisit I have 6 different experimental conditions, which I would like to be counterbalanced within my 2 groups.
The problem with the previous code is that the conditions don't get evenly distributed within the two groups.
Is there a way that I could assign every 6th participant in each group to a different condition so I get an approximately even distribution of conditions within the 2 groups?
Or should I try a different approach to counterbalancing in my case?
Thank you!

By Dave  9/20/2023
+x+x+xDear Millisecond community, I have programmed an experiment comprising 6 different experimental conditions. I would like to have these conditions counterbalanced within my 2 experimental groups, so that each condition is repeated an equal number of times within each group. I plan to have 82 participants in total, so 41 per each group. The code below assigns every 6th participant to a specific condition, the problem is that in the end, conditions are not equally distributed within the 2 groups. For example, condition 4 gets repeated 9 times in group 1 and only 5 times in group 2. Do you have any idea how I could modify the code so that each 6th participant is assigned to a specific condition within each group, and each condition is repeated an approximately equal number of times in both groups? I would really appreciate the help! I guess it's unclear to me what, exactly, you consider to be your two groups and how, consequently, you arrived at the following statement: "[C]onditions are not equally distributed within the 2 groups. For example, condition 4 gets repeated 9 times in group 1 and only 5 times in group 2." Please elaborate in sufficient detail. Dear Dave, Thanks for your reply! Hereby the clarification: I have two experimental groups: waitlist control and treatment. Participants have been already randomly assigned to these 2 groups (not in Inquisit lab, I have an Excel sheet with their specific group assignment). So when I run the experiment I manually input the group number of each participant from that Excel sheet. I cannot change their random group assignment, that's why I haven't programmed it in Inquisit. For this specific task that I have programmed in Inquisit I have 6 different experimental conditions, which I would like to be counterbalanced within my 2 groups. The problem with the previous code is that the conditions don't get evenly distributed within the two groups. Is there a way that I could assign every 6th participant in each group to a different condition so I get an approximately even distribution of conditions within the 2 groups? Or should I try a different approach to counterbalancing in my case? Thank you! > So when I run the experiment I manually input the group number of each participant from that Excel sheet.
The batch code you posted assigns condition by subject number, not by group number. So, what are the subject numbers in the two groups, respectively?
Condition assignment, as you have it, works like this: You have 6 conditions, so the subject number entered is taken modulo 6. Assuming subject numbers 1 to 82, and further assuming 1 to 41 constitute "group 1" (bold) and "42 to 82" constitute "group 2", this would result in the following:
1,7,13,19,25,31,37,43,49,55,61,67,73,79 modulo 6 = 1 > condition 1 (14; 7/7) 2,8,14,20,26,32,38,44,50,56,62,68,74,80 modulo 6 = 2 > condition 2 (14; 7/7) 3,9,15,21,27,33,39,45,51,57,63,69,75,81 modulo 6 = 3 > condition 3 (14; 7/7) 4,10,16,22,28,34,40,46,52,58,64,70,76,82 modulo 6 = 4 > condition 4 (14; 7/7) 5,11,17,23,29,35,41,47,53,59,65,71,77 modulo 6 = 5 > condition 5 (13; 7/6) 6,12,18,24,30,36,42,48,54,60,66,72,78 modulo 6 = 0 > condition 6 (13; 6/7)
As you can see, this absolutely leads to an even distribution of conditions within the two "groups".

By alexandra.vasilache  9/20/2023
Dear Dave,
I do see your point, that is also how I expected it to work. But my 82 participants are not distributed as the first 41 participants in group 1 and the rest in group 2. Please see the attached document for the exact participant number distribution between the 2 groups.
In my case, how can I achieve this even distribution of the conditions between the 2 groups?
Thanks for bearing with me!

By Dave  9/20/2023
+xDear Dave, I do see your point, that is also how I expected it to work. But my 82 participants are not distributed as the first 41 participants in group 1 and the rest in group 2. Please see the attached document for the exact participant number distribution between the 2 groups. In my case, how can I achieve this even distribution of the conditions between the 2 groups? Thanks for bearing with me! Yeah, well, then don't assign conditions by subject number.
In your batch script, change /subjects to /groups, and in your Excel spreadsheet, add a new column and give each participant a condition number between 1 to 6, such that each condition number occurs approximately equally often (i.e. 6 to 7 times) in each of the two groups.
You can use the session ID to hold the actual "experimental group" number (1 or 2 in your case). Or switch it around, and use /sessions for condition assignment (instead of /subjects or /groups).
https://www.millisecond.com/support/docs/current/html/articles/batchscripts.htm
With either of these attributes, how condition assignment works is the same:
The number entered is taken modulo 6 (because you have 6 conditions), and the result determines which condition/script is administered.

By alexandra.vasilache  9/22/2023
+x+xDear Dave, I do see your point, that is also how I expected it to work. But my 82 participants are not distributed as the first 41 participants in group 1 and the rest in group 2. Please see the attached document for the exact participant number distribution between the 2 groups. In my case, how can I achieve this even distribution of the conditions between the 2 groups? Thanks for bearing with me! Yeah, well, then don't assign conditions by subject number. In your batch script, change /subjects to /groups, and in your Excel spreadsheet, add a new column and give each participant a condition number between 1 to 6, such that each condition number occurs approximately equally often (i.e. 6 to 7 times) in each of the two groups. You can use the session ID to hold the actual "experimental group" number (1 or 2 in your case). Or switch it around, and use /sessions for condition assignment (instead of /subjects or /groups). https://www.millisecond.com/support/docs/current/html/articles/batchscripts.htmWith either of these attributes, how condition assignment works is the same: The number entered is taken modulo 6 (because you have 6 conditions), and the result determines which condition/script is administered. Dear Dave,
Thank you for your idea and for your help. That's what I ended up doing.

