Counterbalancing by group and subject number


Author
Message
alexandra.vasilache
alexandra.vasilache
New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)
Group: Forum Members
Posts: 4, Visits: 24
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!


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: 12K, Visits: 98K
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!


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.
alexandra.vasilache
alexandra.vasilache
New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)
Group: Forum Members
Posts: 4, Visits: 24
Dave - 9/19/2023
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!


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!



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: 12K, Visits: 98K
alexandra.vasilache - 9/20/2023
Dave - 9/19/2023
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!


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".



Edited 8 Months Ago by Dave
alexandra.vasilache
alexandra.vasilache
New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)
Group: Forum Members
Posts: 4, Visits: 24
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!

Attachments
Counterbalancing_APP - Copy.xlsx (54 views, 10.00 KB)
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: 12K, Visits: 98K
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!

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.

Edited 8 Months Ago by Dave
alexandra.vasilache
alexandra.vasilache
New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)New Member (47 reputation)
Group: Forum Members
Posts: 4, Visits: 24
Dave - 9/20/2023
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!

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.

Dear Dave,

Thank you for your idea and for your help. That's what I ended up doing.
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search