assigning conditions


Author
Message
aquirk
aquirk
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: 31, Visits: 70
I'm having some trouble understanding the batch element, and exactly how condition assignment works in Inquisit. I want to assign participants to one of 6 conditions (using the pursuit rotor task, the difference between conditions only being how fast the circle rotates). From another post, it seems like I should do something like:
<batch>
/ groupassignment = groupnumber
/ file = "Condition1.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>
...
<batch>
/ groupassignment = groupnumber
/ file = "Condition6.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>

and then use the URL parameter to create 6 different URLs (with 'condition=1' through 'condition=6' at the end), but how does this assign people to the correct batch? 

Is there an easier way to do this that I'm missing?


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
aquirk - Tuesday, June 13, 2017
I'm having some trouble understanding the batch element, and exactly how condition assignment works in Inquisit. I want to assign participants to one of 6 conditions (using the pursuit rotor task, the difference between conditions only being how fast the circle rotates). From another post, it seems like I should do something like:
<batch>
/ groupassignment = groupnumber
/ file = "Condition1.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>
...
<batch>
/ groupassignment = groupnumber
/ file = "Condition6.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>

and then use the URL parameter to create 6 different URLs (with 'condition=1' through 'condition=6' at the end), but how does this assign people to the correct batch? 

Is there an easier way to do this that I'm missing?


First of all, the <batch> elements are missing /subjects attributes. This attribute ultimately "tells" Inquisit (a) how many conditions there are, and (b) which condition is which (the 1st, the 2nd, ...).

<batch>
/ subjects = (1 of 6)
/ groupassignment = groupnumber
/ file = "Condition1.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>
...
<batch>
/ subjects = (6 of 6)
/ groupassignment = groupnumber
/ file = "Condition6.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>

The /groupassignment attribute is always used *in combination* with the /subjects attribute. The /groupassignment setting tells Inquisit *on what basis* to perform the condition assignment. If you were to do it based on a numerical subject number, you'd specify

/ groupassignment = subjectnumber

You have chosen condition assignment based on the numerical group id / group number

/ groupassignment = groupnumber

which is exactly what you'll want to do in most cases.

Condition assignment is a mathematical operation, and in essence boils down to simple modulo arithmetic: https://www.millisecond.com/forums/Topic13856.aspx

aquirk
aquirk
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: 31, Visits: 70
Dave - Tuesday, June 13, 2017
aquirk - Tuesday, June 13, 2017
I'm having some trouble understanding the batch element, and exactly how condition assignment works in Inquisit. I want to assign participants to one of 6 conditions (using the pursuit rotor task, the difference between conditions only being how fast the circle rotates). From another post, it seems like I should do something like:
<batch>
/ groupassignment = groupnumber
/ file = "Condition1.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>
...
<batch>
/ groupassignment = groupnumber
/ file = "Condition6.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>

and then use the URL parameter to create 6 different URLs (with 'condition=1' through 'condition=6' at the end), but how does this assign people to the correct batch? 

Is there an easier way to do this that I'm missing?


First of all, the <batch> elements are missing /subjects attributes. This attribute ultimately "tells" Inquisit (a) how many conditions there are, and (b) which condition is which (the 1st, the 2nd, ...).

<batch>
/ subjects = (1 of 6)
/ groupassignment = groupnumber
/ file = "Condition1.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>
...
<batch>
/ subjects = (6 of 6)
/ groupassignment = groupnumber
/ file = "Condition6.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>

The /groupassignment attribute is always used *in combination* with the /subjects attribute. The /groupassignment setting tells Inquisit *on what basis* to perform the condition assignment. If you were to do it based on a numerical subject number, you'd specify

/ groupassignment = subjectnumber

You have chosen condition assignment based on the numerical group id / group number

/ groupassignment = groupnumber

which is exactly what you'll want to do in most cases.

Condition assignment is a mathematical operation, and in essence boils down to simple modulo arithmetic: https://www.millisecond.com/forums/Topic13856.aspx

Great thanks. So is the script I register literally just the series of batches? Does that script need anything else in it?
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
aquirk - Wednesday, June 14, 2017
Dave - Tuesday, June 13, 2017
aquirk - Tuesday, June 13, 2017
I'm having some trouble understanding the batch element, and exactly how condition assignment works in Inquisit. I want to assign participants to one of 6 conditions (using the pursuit rotor task, the difference between conditions only being how fast the circle rotates). From another post, it seems like I should do something like:
<batch>
/ groupassignment = groupnumber
/ file = "Condition1.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>
...
<batch>
/ groupassignment = groupnumber
/ file = "Condition6.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>

and then use the URL parameter to create 6 different URLs (with 'condition=1' through 'condition=6' at the end), but how does this assign people to the correct batch? 

Is there an easier way to do this that I'm missing?


First of all, the <batch> elements are missing /subjects attributes. This attribute ultimately "tells" Inquisit (a) how many conditions there are, and (b) which condition is which (the 1st, the 2nd, ...).

<batch>
/ subjects = (1 of 6)
/ groupassignment = groupnumber
/ file = "Condition1.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>
...
<batch>
/ subjects = (6 of 6)
/ groupassignment = groupnumber
/ file = "Condition6.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>

The /groupassignment attribute is always used *in combination* with the /subjects attribute. The /groupassignment setting tells Inquisit *on what basis* to perform the condition assignment. If you were to do it based on a numerical subject number, you'd specify

/ groupassignment = subjectnumber

You have chosen condition assignment based on the numerical group id / group number

/ groupassignment = groupnumber

which is exactly what you'll want to do in most cases.

Condition assignment is a mathematical operation, and in essence boils down to simple modulo arithmetic: https://www.millisecond.com/forums/Topic13856.aspx

Great thanks. So is the script I register literally just the series of batches? Does that script need anything else in it?

> So is the script I register literally just the series of batches?

Yes, the script you register as your active web script in the 1st step is the one containing the (here: six) <batch> elements.

> Does that script need anything else in it?

No.

What you have to do, however, after registering the <batch> script is upload the "actual" scripts -- condition1.iqx to condition6.iqx, test1.iqx and test2.iqx -- as well as any other files those scripts might need (e.g. image files, etc.) in the 2nd step.

aquirk
aquirk
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: 31, Visits: 70
Dave - Wednesday, June 14, 2017
aquirk - Wednesday, June 14, 2017
Dave - Tuesday, June 13, 2017
aquirk - Tuesday, June 13, 2017
I'm having some trouble understanding the batch element, and exactly how condition assignment works in Inquisit. I want to assign participants to one of 6 conditions (using the pursuit rotor task, the difference between conditions only being how fast the circle rotates). From another post, it seems like I should do something like:
<batch>
/ groupassignment = groupnumber
/ file = "Condition1.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>
...
<batch>
/ groupassignment = groupnumber
/ file = "Condition6.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>

and then use the URL parameter to create 6 different URLs (with 'condition=1' through 'condition=6' at the end), but how does this assign people to the correct batch? 

Is there an easier way to do this that I'm missing?


First of all, the <batch> elements are missing /subjects attributes. This attribute ultimately "tells" Inquisit (a) how many conditions there are, and (b) which condition is which (the 1st, the 2nd, ...).

<batch>
/ subjects = (1 of 6)
/ groupassignment = groupnumber
/ file = "Condition1.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>
...
<batch>
/ subjects = (6 of 6)
/ groupassignment = groupnumber
/ file = "Condition6.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>

The /groupassignment attribute is always used *in combination* with the /subjects attribute. The /groupassignment setting tells Inquisit *on what basis* to perform the condition assignment. If you were to do it based on a numerical subject number, you'd specify

/ groupassignment = subjectnumber

You have chosen condition assignment based on the numerical group id / group number

/ groupassignment = groupnumber

which is exactly what you'll want to do in most cases.

Condition assignment is a mathematical operation, and in essence boils down to simple modulo arithmetic: https://www.millisecond.com/forums/Topic13856.aspx

Great thanks. So is the script I register literally just the series of batches? Does that script need anything else in it?

> So is the script I register literally just the series of batches?

Yes, the script you register as your active web script in the 1st step is the one containing the (here: six) <batch> elements.

> Does that script need anything else in it?

No.

What you have to do, however, after registering the <batch> script is upload the "actual" scripts -- condition1.iqx to condition6.iqx, test1.iqx and test2.iqx -- as well as any other files those scripts might need (e.g. image files, etc.) in the 2nd step.

So how do I collect the data being recorded in the non-registered scripts?
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
aquirk - Wednesday, June 14, 2017
Dave - Wednesday, June 14, 2017
aquirk - Wednesday, June 14, 2017
Dave - Tuesday, June 13, 2017
aquirk - Tuesday, June 13, 2017
I'm having some trouble understanding the batch element, and exactly how condition assignment works in Inquisit. I want to assign participants to one of 6 conditions (using the pursuit rotor task, the difference between conditions only being how fast the circle rotates). From another post, it seems like I should do something like:
<batch>
/ groupassignment = groupnumber
/ file = "Condition1.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>
...
<batch>
/ groupassignment = groupnumber
/ file = "Condition6.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>

and then use the URL parameter to create 6 different URLs (with 'condition=1' through 'condition=6' at the end), but how does this assign people to the correct batch? 

Is there an easier way to do this that I'm missing?


First of all, the <batch> elements are missing /subjects attributes. This attribute ultimately "tells" Inquisit (a) how many conditions there are, and (b) which condition is which (the 1st, the 2nd, ...).

<batch>
/ subjects = (1 of 6)
/ groupassignment = groupnumber
/ file = "Condition1.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>
...
<batch>
/ subjects = (6 of 6)
/ groupassignment = groupnumber
/ file = "Condition6.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>

The /groupassignment attribute is always used *in combination* with the /subjects attribute. The /groupassignment setting tells Inquisit *on what basis* to perform the condition assignment. If you were to do it based on a numerical subject number, you'd specify

/ groupassignment = subjectnumber

You have chosen condition assignment based on the numerical group id / group number

/ groupassignment = groupnumber

which is exactly what you'll want to do in most cases.

Condition assignment is a mathematical operation, and in essence boils down to simple modulo arithmetic: https://www.millisecond.com/forums/Topic13856.aspx

Great thanks. So is the script I register literally just the series of batches? Does that script need anything else in it?

> So is the script I register literally just the series of batches?

Yes, the script you register as your active web script in the 1st step is the one containing the (here: six) <batch> elements.

> Does that script need anything else in it?

No.

What you have to do, however, after registering the <batch> script is upload the "actual" scripts -- condition1.iqx to condition6.iqx, test1.iqx and test2.iqx -- as well as any other files those scripts might need (e.g. image files, etc.) in the 2nd step.

So how do I collect the data being recorded in the non-registered scripts?

> So how do I collect the data being recorded in the non-registered scripts?

You don't need to register them. You register the the <batch> script 1st step. You upload all the other scripts in the 2nd step. Data will be collected just fine.

aquirk
aquirk
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: 31, Visits: 70
Dave - Wednesday, June 14, 2017
aquirk - Wednesday, June 14, 2017
Dave - Wednesday, June 14, 2017
aquirk - Wednesday, June 14, 2017
Dave - Tuesday, June 13, 2017
aquirk - Tuesday, June 13, 2017
I'm having some trouble understanding the batch element, and exactly how condition assignment works in Inquisit. I want to assign participants to one of 6 conditions (using the pursuit rotor task, the difference between conditions only being how fast the circle rotates). From another post, it seems like I should do something like:
<batch>
/ groupassignment = groupnumber
/ file = "Condition1.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>
...
<batch>
/ groupassignment = groupnumber
/ file = "Condition6.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>

and then use the URL parameter to create 6 different URLs (with 'condition=1' through 'condition=6' at the end), but how does this assign people to the correct batch? 

Is there an easier way to do this that I'm missing?


First of all, the <batch> elements are missing /subjects attributes. This attribute ultimately "tells" Inquisit (a) how many conditions there are, and (b) which condition is which (the 1st, the 2nd, ...).

<batch>
/ subjects = (1 of 6)
/ groupassignment = groupnumber
/ file = "Condition1.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>
...
<batch>
/ subjects = (6 of 6)
/ groupassignment = groupnumber
/ file = "Condition6.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>

The /groupassignment attribute is always used *in combination* with the /subjects attribute. The /groupassignment setting tells Inquisit *on what basis* to perform the condition assignment. If you were to do it based on a numerical subject number, you'd specify

/ groupassignment = subjectnumber

You have chosen condition assignment based on the numerical group id / group number

/ groupassignment = groupnumber

which is exactly what you'll want to do in most cases.

Condition assignment is a mathematical operation, and in essence boils down to simple modulo arithmetic: https://www.millisecond.com/forums/Topic13856.aspx

Great thanks. So is the script I register literally just the series of batches? Does that script need anything else in it?

> So is the script I register literally just the series of batches?

Yes, the script you register as your active web script in the 1st step is the one containing the (here: six) <batch> elements.

> Does that script need anything else in it?

No.

What you have to do, however, after registering the <batch> script is upload the "actual" scripts -- condition1.iqx to condition6.iqx, test1.iqx and test2.iqx -- as well as any other files those scripts might need (e.g. image files, etc.) in the 2nd step.

So how do I collect the data being recorded in the non-registered scripts?

> So how do I collect the data being recorded in the non-registered scripts?

You don't need to register them. You register the the <batch> script 1st step. You upload all the other scripts in the 2nd step. Data will be collected just fine.

Great, just one more question: The transition from the 'Condition1' file to 'Test1' works perfectly, but for some reason the one from 'Test1' to 'Test2' doesn't. The last page of Test1 is supposed to time out at 40 seconds, then Test2 should start. Instead, at 40 seconds the last page of Test1 refreshes (you can see the page reload quickly), and then just stays. If you press 'CTRL+Q' it moves to Test2, but not on its own. Any ideas why? I've attached the three files, as well as the one with the batches in it.
Attachments
Test2.iqx (242 views, 42.00 KB)
Condition1.iqx (259 views, 34.00 KB)
Test1.iqx (253 views, 43.00 KB)
pursuitrotor_conditionassignment.iqx (274 views, 887 bytes)
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
aquirk - Thursday, June 15, 2017
Dave - Wednesday, June 14, 2017
aquirk - Wednesday, June 14, 2017
Dave - Wednesday, June 14, 2017
aquirk - Wednesday, June 14, 2017
Dave - Tuesday, June 13, 2017
aquirk - Tuesday, June 13, 2017
I'm having some trouble understanding the batch element, and exactly how condition assignment works in Inquisit. I want to assign participants to one of 6 conditions (using the pursuit rotor task, the difference between conditions only being how fast the circle rotates). From another post, it seems like I should do something like:
<batch>
/ groupassignment = groupnumber
/ file = "Condition1.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>
...
<batch>
/ groupassignment = groupnumber
/ file = "Condition6.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>

and then use the URL parameter to create 6 different URLs (with 'condition=1' through 'condition=6' at the end), but how does this assign people to the correct batch? 

Is there an easier way to do this that I'm missing?


First of all, the <batch> elements are missing /subjects attributes. This attribute ultimately "tells" Inquisit (a) how many conditions there are, and (b) which condition is which (the 1st, the 2nd, ...).

<batch>
/ subjects = (1 of 6)
/ groupassignment = groupnumber
/ file = "Condition1.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>
...
<batch>
/ subjects = (6 of 6)
/ groupassignment = groupnumber
/ file = "Condition6.iqx"
/ file = "Test1.iqx"
/ file = "Test2.iqx"
</batch>

The /groupassignment attribute is always used *in combination* with the /subjects attribute. The /groupassignment setting tells Inquisit *on what basis* to perform the condition assignment. If you were to do it based on a numerical subject number, you'd specify

/ groupassignment = subjectnumber

You have chosen condition assignment based on the numerical group id / group number

/ groupassignment = groupnumber

which is exactly what you'll want to do in most cases.

Condition assignment is a mathematical operation, and in essence boils down to simple modulo arithmetic: https://www.millisecond.com/forums/Topic13856.aspx

Great thanks. So is the script I register literally just the series of batches? Does that script need anything else in it?

> So is the script I register literally just the series of batches?

Yes, the script you register as your active web script in the 1st step is the one containing the (here: six) <batch> elements.

> Does that script need anything else in it?

No.

What you have to do, however, after registering the <batch> script is upload the "actual" scripts -- condition1.iqx to condition6.iqx, test1.iqx and test2.iqx -- as well as any other files those scripts might need (e.g. image files, etc.) in the 2nd step.

So how do I collect the data being recorded in the non-registered scripts?

> So how do I collect the data being recorded in the non-registered scripts?

You don't need to register them. You register the the <batch> script 1st step. You upload all the other scripts in the 2nd step. Data will be collected just fine.

Great, just one more question: The transition from the 'Condition1' file to 'Test1' works perfectly, but for some reason the one from 'Test1' to 'Test2' doesn't. The last page of Test1 is supposed to time out at 40 seconds, then Test2 should start. Instead, at 40 seconds the last page of Test1 refreshes (you can see the page reload quickly), and then just stays. If you press 'CTRL+Q' it moves to Test2, but not on its own. Any ideas why? I've attached the three files, as well as the one with the batches in it.

> Instead, at 40 seconds the last page of Test1 refreshes (you can see the page reload quickly)

That's because you run <trial score> *twice*:
#1: You invoke it via /branch in your test1 to test6 trials:

/ branch = [
    if (trial.posttest.trialcount < 5) {
        trial.posttest;
    }
        else {
            trial.score;
        }
]

#2: And you additionally run it a second time via your <block>:

<block test1>
/ trials = [1=beginning; 2=starttest; 3-8=noreplacenorepeat(test1,test2,test3,test4,test5,test6); 9=score]
</block>

Remove it from the <block> element.


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search