Millisecond Forums

HOW TO RUN RANDOMLY BLOCKS IN AN EXPERIMENT?

https://www.millisecond.com/forums/Topic17061.aspx

By dilemma - 9/6/2015

Hi there 
so below is my script...I want the experiment to run all the blocks but to run them randomly.
I tried the “random” and “noreplace” function but it does not work as it does only choose randomly one of the two blocks, while I want it to run all the blocks but in a random order the only time it works is in the last option that I reported (with nothing in front) but the problem it will run the blocks in the order that I have written them which is not what I want as it needs to be random!
Please advice for help!


<expt>
/ preinstructions = (intro1)
/ blocks = [ 1=noreplace(1a,1b); 2= 6; 3=noreplace(2a_1, 2a_2, 2a_3, 2a_4, 2a_5, 2a_6, 2a_7, 2a_8, 2a_9, 2a_10, 2a_11, 2a_12, 5a_1, 5a_2, 5a_3, 5a_4)]
/ postinstructions = (end)
/ subjects = (1 of 2)
</expt>

<expt>
/ preinstructions = (intro1)
/ blocks = [ 1=random(1a,1b); 2= 6; 3=random(2a_1, 2a_2, 2a_3, 2a_4, 2a_5, 2a_6, 2a_7, 2a_8, 2a_9, 2a_10, 2a_11, 2a_12, 5a_1, 5a_2, 5a_3, 5a_4)]
/ postinstructions = (end)
/ subjects = (1 of 2)
</expt>

<expt>
/ preinstructions = (intro1)
/ blocks = [ 1=1a,1b; 2= 6; 3=2a_1, 2a_2, 2a_3, 2a_4, 2a_5, 2a_6, 2a_7, 2a_8, 2a_9, 2a_10, 2a_11, 2a_12, 5a_1, 5a_2, 5a_3, 5a_4]
/ postinstructions = (end)
/ subjects = (1 of 2)
</expt>

By Dave - 9/7/2015

It only runs a single block because that's what you specified. Instead of

<expt>
/ blocks = [1=noreplace(a,b,c)]
...
</expt>

you ought to specify

<expt>
/ blocks = [1-3=noreplace(a,b,c)]
...
</expt>

to run the 3 blocks a, b and c in random order.
By Charlene_Wu - 10/30/2020

Dave - 9/7/2015
It only runs a single block because that's what you specified. Instead of

<expt>
/ blocks = [1=noreplace(a,b,c)]
...
</expt>

you ought to specify

<expt>
/ blocks = [1-3=noreplace(a,b,c)]
...
</expt>

to run the 3 blocks a, b and c in random order.

Hi Dave,

I have a similar issue. In the <expt> of the file attached, you can see that I have 2 different EPTs, each with its own block. The first EPT has its orientation block (3 = orientationCvH), 2 rounds of the test block (4-5 = testCvH), and an end block (6 = endCvH). The other EPT is similar (7 = orientationVvS; 8-9 = testVvS;10 = endVvS). The EPTs need to remain in the same order of 1 orientation block + 2 test blocks + 1 end block.

I now wish to randomize these two EPTs such that some participants get blocks 3-6 first and others 3-10 first. I would like the rest of the script to stay the same.

How would I approach this? 

Thank you in advance!
By Dave - 10/30/2020

Charlene_Wu - 10/30/2020
Dave - 9/7/2015
It only runs a single block because that's what you specified. Instead of

<expt>
/ blocks = [1=noreplace(a,b,c)]
...
</expt>

you ought to specify

<expt>
/ blocks = [1-3=noreplace(a,b,c)]
...
</expt>

to run the 3 blocks a, b and c in random order.

Hi Dave,

I have a similar issue. In the <expt> of the file attached, you can see that I have 2 different EPTs, each with its own block. The first EPT has its orientation block (3 = orientationCvH), 2 rounds of the test block (4-5 = testCvH), and an end block (6 = endCvH). The other EPT is similar (7 = orientationVvS; 8-9 = testVvS;10 = endVvS). The EPTs need to remain in the same order of 1 orientation block + 2 test blocks + 1 end block.

I now wish to randomize these two EPTs such that some participants get blocks 3-6 first and others 3-10 first. I would like the rest of the script to stay the same.

How would I approach this? 

Thank you in advance!

// CvH first
<expt>
/ blocks = [
1 = eligibility;
2 = Demo;
3 = orientationCvH;
4-5 = testCvH;
6 = endCvH;
7 = orientationVvS;
8-9 = testVvS;
10 = endVvS;
11 = ExplicitRate;
12 = AMPpractice;
13-15 = AMP;
16 = FeelThermConVio;
17 = FeelThermThreeGroup;
18 = thankyou;
19 = ineligible]
/ subjects = (1 of 2)
/ groupassignment = groupnumber
</expt>

// VvS first
<expt>
/ blocks = [
1 = eligibility;
2 = Demo;
3 = orientationVvS;
4-5 = testVvS;
6 = endVvS;
7 = orientationCvH;
8-9 = testCvH;
10 = endCvH;
11 = ExplicitRate;
12 = AMPpractice;
13-15 = AMP;
16 = FeelThermConVio;
17 = FeelThermThreeGroup;
18 = thankyou;
19 = ineligible]
/ subjects = (2 of 2)
/ groupassignment = groupnumber
</expt>
By Charlene_Wu - 10/30/2020

Dave - 10/30/2020
Charlene_Wu - 10/30/2020
Dave - 9/7/2015
It only runs a single block because that's what you specified. Instead of

<expt>
/ blocks = [1=noreplace(a,b,c)]
...
</expt>

you ought to specify

<expt>
/ blocks = [1-3=noreplace(a,b,c)]
...
</expt>

to run the 3 blocks a, b and c in random order.

Hi Dave,

I have a similar issue. In the <expt> of the file attached, you can see that I have 2 different EPTs, each with its own block. The first EPT has its orientation block (3 = orientationCvH), 2 rounds of the test block (4-5 = testCvH), and an end block (6 = endCvH). The other EPT is similar (7 = orientationVvS; 8-9 = testVvS;10 = endVvS). The EPTs need to remain in the same order of 1 orientation block + 2 test blocks + 1 end block.

I now wish to randomize these two EPTs such that some participants get blocks 3-6 first and others 3-10 first. I would like the rest of the script to stay the same.

How would I approach this? 

Thank you in advance!

// CvH first
<expt>
/ blocks = [
1 = eligibility;
2 = Demo;
3 = orientationCvH;
4-5 = testCvH;
6 = endCvH;
7 = orientationVvS;
8-9 = testVvS;
10 = endVvS;
11 = ExplicitRate;
12 = AMPpractice;
13-15 = AMP;
16 = FeelThermConVio;
17 = FeelThermThreeGroup;
18 = thankyou;
19 = ineligible]
/ subjects = (1 of 2)
/ groupassignment = groupnumber
</expt>

// VvS first
<expt>
/ blocks = [
1 = eligibility;
2 = Demo;
3 = orientationVvS;
4-5 = testVvS;
6 = endVvS;
7 = orientationCvH;
8-9 = testCvH;
10 = endCvH;
11 = ExplicitRate;
12 = AMPpractice;
13-15 = AMP;
16 = FeelThermConVio;
17 = FeelThermThreeGroup;
18 = thankyou;
19 = ineligible]
/ subjects = (2 of 2)
/ groupassignment = groupnumber
</expt>

Do I need to do anything to assign participants to different groups, or is it kind of automatic that they would just be randomly assigned to group 1 or ?
By Charlene_Wu - 10/30/2020

Charlene_Wu - 10/30/2020
Dave - 10/30/2020
Charlene_Wu - 10/30/2020
Dave - 9/7/2015
It only runs a single block because that's what you specified. Instead of

<expt>
/ blocks = [1=noreplace(a,b,c)]
...
</expt>

you ought to specify

<expt>
/ blocks = [1-3=noreplace(a,b,c)]
...
</expt>

to run the 3 blocks a, b and c in random order.

Hi Dave,

I have a similar issue. In the <expt> of the file attached, you can see that I have 2 different EPTs, each with its own block. The first EPT has its orientation block (3 = orientationCvH), 2 rounds of the test block (4-5 = testCvH), and an end block (6 = endCvH). The other EPT is similar (7 = orientationVvS; 8-9 = testVvS;10 = endVvS). The EPTs need to remain in the same order of 1 orientation block + 2 test blocks + 1 end block.

I now wish to randomize these two EPTs such that some participants get blocks 3-6 first and others 3-10 first. I would like the rest of the script to stay the same.

How would I approach this? 

Thank you in advance!

// CvH first
<expt>
/ blocks = [
1 = eligibility;
2 = Demo;
3 = orientationCvH;
4-5 = testCvH;
6 = endCvH;
7 = orientationVvS;
8-9 = testVvS;
10 = endVvS;
11 = ExplicitRate;
12 = AMPpractice;
13-15 = AMP;
16 = FeelThermConVio;
17 = FeelThermThreeGroup;
18 = thankyou;
19 = ineligible]
/ subjects = (1 of 2)
/ groupassignment = groupnumber
</expt>

// VvS first
<expt>
/ blocks = [
1 = eligibility;
2 = Demo;
3 = orientationVvS;
4-5 = testVvS;
6 = endVvS;
7 = orientationCvH;
8-9 = testCvH;
10 = endCvH;
11 = ExplicitRate;
12 = AMPpractice;
13-15 = AMP;
16 = FeelThermConVio;
17 = FeelThermThreeGroup;
18 = thankyou;
19 = ineligible]
/ subjects = (2 of 2)
/ groupassignment = groupnumber
</expt>

Do I need to do anything to assign participants to different groups, or is it kind of automatic that they would just be randomly assigned to group 1 or ?

Sorry, group 1 or 2?
By Dave - 10/30/2020

Charlene_Wu - 10/30/2020
Charlene_Wu - 10/30/2020
Dave - 10/30/2020
Charlene_Wu - 10/30/2020
Dave - 9/7/2015
It only runs a single block because that's what you specified. Instead of

<expt>
/ blocks = [1=noreplace(a,b,c)]
...
</expt>

you ought to specify

<expt>
/ blocks = [1-3=noreplace(a,b,c)]
...
</expt>

to run the 3 blocks a, b and c in random order.

Hi Dave,

I have a similar issue. In the <expt> of the file attached, you can see that I have 2 different EPTs, each with its own block. The first EPT has its orientation block (3 = orientationCvH), 2 rounds of the test block (4-5 = testCvH), and an end block (6 = endCvH). The other EPT is similar (7 = orientationVvS; 8-9 = testVvS;10 = endVvS). The EPTs need to remain in the same order of 1 orientation block + 2 test blocks + 1 end block.

I now wish to randomize these two EPTs such that some participants get blocks 3-6 first and others 3-10 first. I would like the rest of the script to stay the same.

How would I approach this? 

Thank you in advance!

// CvH first
<expt>
/ blocks = [
1 = eligibility;
2 = Demo;
3 = orientationCvH;
4-5 = testCvH;
6 = endCvH;
7 = orientationVvS;
8-9 = testVvS;
10 = endVvS;
11 = ExplicitRate;
12 = AMPpractice;
13-15 = AMP;
16 = FeelThermConVio;
17 = FeelThermThreeGroup;
18 = thankyou;
19 = ineligible]
/ subjects = (1 of 2)
/ groupassignment = groupnumber
</expt>

// VvS first
<expt>
/ blocks = [
1 = eligibility;
2 = Demo;
3 = orientationVvS;
4-5 = testVvS;
6 = endVvS;
7 = orientationCvH;
8-9 = testCvH;
10 = endCvH;
11 = ExplicitRate;
12 = AMPpractice;
13-15 = AMP;
16 = FeelThermConVio;
17 = FeelThermThreeGroup;
18 = thankyou;
19 = ineligible]
/ subjects = (2 of 2)
/ groupassignment = groupnumber
</expt>

Do I need to do anything to assign participants to different groups, or is it kind of automatic that they would just be randomly assigned to group 1 or ?

Sorry, group 1 or 2?

If you're using Inquisit Lab, it prompts you for the group number when you run the script.

On the web, select either random or sequential group number generation in the web experiment's settings and indicate the number of groups as 2.