Batch file contains random group assignment, how do I determine which group was assigned?


Batch file contains random group assignment, how do I determine which...
Author
Message
nanaks
nanaks
Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)
Group: Forum Members
Posts: 5, Visits: 24
I've run a study on Inquisit Web (with no issues) using the batch command in the registered script, see below.

<batch>
/ subjects = (1 of 2)
/ groupassignment = random
/ file = "consentexp.exp"
/ file = "choiceexp.exp"
/ file = "jugexp.exp"
/ file = "demoexp.exp"
</batch>

<batch>
/ subjects = (2 of 2)
/ groupassignment = random
/ file = "consentexp.exp"
/ file = "jugexp.exp"
/ file = "choiceexp.exp"
/ file = "demoexp.exp"

I need to determine which group each participant has been assigned to in order to determine if there is any effect of order on my dependent variable. In jugexp.exp, I included the following:

<data>
/ separatefiles = true
/ columns = [build, computer.platform, date, time, subject, group, blockcode, blocknum, trialcode, trialnum, [...], script.elapsedtime, computer.ipaddress.1, computer.macaddress.1, variables.currentgroupnumber]

I was expecting that either the group item or variables.currentgroupnumber item would tell me whether the participant had been randomly assigned to group 1, or group 2, but in my output file, the group number is unique to each participant, and the variables.currentgroupnumber is "0" for every line.

Any help in determining which group the participant has been assigned to when using "/ groupassignment = random"

I realize that I could assign by groupnumber (split by even/odd), but there should be a way to determine group assignment with the random option as well, correct?

Thanks in advance.



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
nanaks - Sunday, June 24, 2018
I've run a study on Inquisit Web (with no issues) using the batch command in the registered script, see below.

<batch>
/ subjects = (1 of 2)
/ groupassignment = random
/ file = "consentexp.exp"
/ file = "choiceexp.exp"
/ file = "jugexp.exp"
/ file = "demoexp.exp"
</batch>

<batch>
/ subjects = (2 of 2)
/ groupassignment = random
/ file = "consentexp.exp"
/ file = "jugexp.exp"
/ file = "choiceexp.exp"
/ file = "demoexp.exp"

I need to determine which group each participant has been assigned to in order to determine if there is any effect of order on my dependent variable. In jugexp.exp, I included the following:

<data>
/ separatefiles = true
/ columns = [build, computer.platform, date, time, subject, group, blockcode, blocknum, trialcode, trialnum, [...], script.elapsedtime, computer.ipaddress.1, computer.macaddress.1, variables.currentgroupnumber]

I was expecting that either the group item or variables.currentgroupnumber item would tell me whether the participant had been randomly assigned to group 1, or group 2, but in my output file, the group number is unique to each participant, and the variables.currentgroupnumber is "0" for every line.

Any help in determining which group the participant has been assigned to when using "/ groupassignment = random"

I realize that I could assign by groupnumber (split by even/odd), but there should be a way to determine group assignment with the random option as well, correct?

Thanks in advance.



variables.currentgroupnumber refers to the <variables> element, which is not what you're using, hence it doesn't tell you anything about the group assignment in the <batch>.

Long story short, the way you set this up, you'll have to infer the order that was assigned by comparing the time logged in the data files for jugexp.exp and choiceexp.exp for a given participant. If the time logged for choiceexp is earlier as the one logged for jugexp, the <batch> administered was the 1st one. If it's the other way around, the <batch> order administered was the 2nd one.

nanaks
nanaks
Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)
Group: Forum Members
Posts: 5, Visits: 24
Dave - Monday, June 25, 2018
nanaks - Sunday, June 24, 2018
I've run a study on Inquisit Web (with no issues) using the batch command in the registered script, see below.

<batch>
/ subjects = (1 of 2)
/ groupassignment = random
/ file = "consentexp.exp"
/ file = "choiceexp.exp"
/ file = "jugexp.exp"
/ file = "demoexp.exp"
</batch>

<batch>
/ subjects = (2 of 2)
/ groupassignment = random
/ file = "consentexp.exp"
/ file = "jugexp.exp"
/ file = "choiceexp.exp"
/ file = "demoexp.exp"

I need to determine which group each participant has been assigned to in order to determine if there is any effect of order on my dependent variable. In jugexp.exp, I included the following:

<data>
/ separatefiles = true
/ columns = [build, computer.platform, date, time, subject, group, blockcode, blocknum, trialcode, trialnum, [...], script.elapsedtime, computer.ipaddress.1, computer.macaddress.1, variables.currentgroupnumber]

I was expecting that either the group item or variables.currentgroupnumber item would tell me whether the participant had been randomly assigned to group 1, or group 2, but in my output file, the group number is unique to each participant, and the variables.currentgroupnumber is "0" for every line.

Any help in determining which group the participant has been assigned to when using "/ groupassignment = random"

I realize that I could assign by groupnumber (split by even/odd), but there should be a way to determine group assignment with the random option as well, correct?

Thanks in advance.



variables.currentgroupnumber refers to the <variables> element, which is not what you're using, hence it doesn't tell you anything about the group assignment in the <batch>.

Long story short, the way you set this up, you'll have to infer the order that was assigned by comparing the time logged in the data files for jugexp.exp and choiceexp.exp for a given participant. If the time logged for choiceexp is earlier as the one logged for jugexp, the <batch> administered was the 1st one. If it's the other way around, the <batch> order administered was the 2nd one.




Thanks, I suspected that may be the only option after running.

For future reference, what code do I need to include (and in which script) to obtain the group number that the participant was assigned to?

Is assignment by groupnumber the only option to obtain this info? In that case, odd group number will be assigned to 1, and even group number will be assigned to 2? In the case of a smaller sample size, any command to ensure an even split/assignment?
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
nanaks - Monday, June 25, 2018
Dave - Monday, June 25, 2018
nanaks - Sunday, June 24, 2018
I've run a study on Inquisit Web (with no issues) using the batch command in the registered script, see below.

<batch>
/ subjects = (1 of 2)
/ groupassignment = random
/ file = "consentexp.exp"
/ file = "choiceexp.exp"
/ file = "jugexp.exp"
/ file = "demoexp.exp"
</batch>

<batch>
/ subjects = (2 of 2)
/ groupassignment = random
/ file = "consentexp.exp"
/ file = "jugexp.exp"
/ file = "choiceexp.exp"
/ file = "demoexp.exp"

I need to determine which group each participant has been assigned to in order to determine if there is any effect of order on my dependent variable. In jugexp.exp, I included the following:

<data>
/ separatefiles = true
/ columns = [build, computer.platform, date, time, subject, group, blockcode, blocknum, trialcode, trialnum, [...], script.elapsedtime, computer.ipaddress.1, computer.macaddress.1, variables.currentgroupnumber]

I was expecting that either the group item or variables.currentgroupnumber item would tell me whether the participant had been randomly assigned to group 1, or group 2, but in my output file, the group number is unique to each participant, and the variables.currentgroupnumber is "0" for every line.

Any help in determining which group the participant has been assigned to when using "/ groupassignment = random"

I realize that I could assign by groupnumber (split by even/odd), but there should be a way to determine group assignment with the random option as well, correct?

Thanks in advance.



variables.currentgroupnumber refers to the <variables> element, which is not what you're using, hence it doesn't tell you anything about the group assignment in the <batch>.

Long story short, the way you set this up, you'll have to infer the order that was assigned by comparing the time logged in the data files for jugexp.exp and choiceexp.exp for a given participant. If the time logged for choiceexp is earlier as the one logged for jugexp, the <batch> administered was the 1st one. If it's the other way around, the <batch> order administered was the 2nd one.




Thanks, I suspected that may be the only option after running.

For future reference, what code do I need to include (and in which script) to obtain the group number that the participant was assigned to?

Is assignment by groupnumber the only option to obtain this info? In that case, odd group number will be assigned to 1, and even group number will be assigned to 2? In the case of a smaller sample size, any command to ensure an even split/assignment?

> Is assignment by groupnumber the only option to obtain this info?

Yes, given that <batch> scripts themselves don't log any data (only the scripts executed by the <batch> do), assignment by either group number or subject number would be the way to go.

> In that case, odd group number will be assigned to 1, and even group number will be assigned to 2?

Yes.

> In the case of a smaller sample size, any command to ensure an even split/assignment?

In your web experiment's settings, indicate the number of groups, and then select either sequential group number generation or random group number generation without replacement. If you're using the subject number for condition assignment instead, use sequential subject number generation.

Alternatively, if you have a fixed participant pool, you could pre-assign half of the subjects to the 1st condition and the other half to the 2nd condition and pass the respective group and/or subject number in via a URL query parameter.

nanaks
nanaks
Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)Partner Member (520 reputation)
Group: Forum Members
Posts: 5, Visits: 24
Dave - Monday, June 25, 2018
nanaks - Monday, June 25, 2018
Dave - Monday, June 25, 2018
nanaks - Sunday, June 24, 2018
I've run a study on Inquisit Web (with no issues) using the batch command in the registered script, see below.

<batch>
/ subjects = (1 of 2)
/ groupassignment = random
/ file = "consentexp.exp"
/ file = "choiceexp.exp"
/ file = "jugexp.exp"
/ file = "demoexp.exp"
</batch>

<batch>
/ subjects = (2 of 2)
/ groupassignment = random
/ file = "consentexp.exp"
/ file = "jugexp.exp"
/ file = "choiceexp.exp"
/ file = "demoexp.exp"

I need to determine which group each participant has been assigned to in order to determine if there is any effect of order on my dependent variable. In jugexp.exp, I included the following:

<data>
/ separatefiles = true
/ columns = [build, computer.platform, date, time, subject, group, blockcode, blocknum, trialcode, trialnum, [...], script.elapsedtime, computer.ipaddress.1, computer.macaddress.1, variables.currentgroupnumber]

I was expecting that either the group item or variables.currentgroupnumber item would tell me whether the participant had been randomly assigned to group 1, or group 2, but in my output file, the group number is unique to each participant, and the variables.currentgroupnumber is "0" for every line.

Any help in determining which group the participant has been assigned to when using "/ groupassignment = random"

I realize that I could assign by groupnumber (split by even/odd), but there should be a way to determine group assignment with the random option as well, correct?

Thanks in advance.



variables.currentgroupnumber refers to the <variables> element, which is not what you're using, hence it doesn't tell you anything about the group assignment in the <batch>.

Long story short, the way you set this up, you'll have to infer the order that was assigned by comparing the time logged in the data files for jugexp.exp and choiceexp.exp for a given participant. If the time logged for choiceexp is earlier as the one logged for jugexp, the <batch> administered was the 1st one. If it's the other way around, the <batch> order administered was the 2nd one.




Thanks, I suspected that may be the only option after running.

For future reference, what code do I need to include (and in which script) to obtain the group number that the participant was assigned to?

Is assignment by groupnumber the only option to obtain this info? In that case, odd group number will be assigned to 1, and even group number will be assigned to 2? In the case of a smaller sample size, any command to ensure an even split/assignment?

> Is assignment by groupnumber the only option to obtain this info?

Yes, given that <batch> scripts themselves don't log any data (only the scripts executed by the <batch> do), assignment by either group number or subject number would be the way to go.

> In that case, odd group number will be assigned to 1, and even group number will be assigned to 2?

Yes.

> In the case of a smaller sample size, any command to ensure an even split/assignment?

In your web experiment's settings, indicate the number of groups, and then select either sequential group number generation or random group number generation without replacement. If you're using the subject number for condition assignment instead, use sequential subject number generation.

Alternatively, if you have a fixed participant pool, you could pre-assign half of the subjects to the 1st condition and the other half to the 2nd condition and pass the respective group and/or subject number in via a URL query parameter.

Thanks for the prompt help, exactly what I needed !
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search