Millisecond Forums

Several IATs in randomized order

https://forums.millisecond.com/Topic25860.aspx

By Haschntii - 10/9/2018

Hello Dave and all,

I am pretty new to inquisit so my question might be very easy to answer, but I've tried various things and although my script runs fine, it just doesn't do what I need it to do.

So here's the issue:

I have 5 different IATs (each of those have 9 blocks including instructions), now I want them to be presented in a random order. 
Important: I can't use <batch> as I need the IAT's data for later feedback. 
So basicly the issue is, that I need the 9 blocks to show in an order, but each of the IATs consisting of those 9 blocks to be in random order.
I tried to work around it with <list>, but I found out it only takes one element of the list. After that I tried to implement it in my expt. with noreplace, but it didn't work either.

I'd be very greatful if you could help me.
The script is pretty long, so I dind't attach it, if you need anything out of it anyways I can share it.

Cheers and Thanks 
Alex
By Dave - 10/10/2018

Haschntii - Wednesday, October 10, 2018
Hello Dave and all,

I am pretty new to inquisit so my question might be very easy to answer, but I've tried various things and although my script runs fine, it just doesn't do what I need it to do.

So here's the issue:

I have 5 different IATs (each of those have 9 blocks including instructions), now I want them to be presented in a random order. 
Important: I can't use <batch> as I need the IAT's data for later feedback. 
So basicly the issue is, that I need the 9 blocks to show in an order, but each of the IATs consisting of those 9 blocks to be in random order.
I tried to work around it with <list>, but I found out it only takes one element of the list. After that I tried to implement it in my expt. with noreplace, but it didn't work either.

I'd be very greatful if you could help me.
The script is pretty long, so I dind't attach it, if you need anything out of it anyways I can share it.

Cheers and Thanks 
Alex

You'll probably want to use /branch. I.e. sample only _the first_ block of each IAT randomly and then just /branch from block1 to the corresponding block2, to the corresponding block3 and so forth. Schematically:

<expt>
...
/ blocks = [1-9 = noreplace(iat1_block1, iat2_block1, iat3_block1, ..., iat9_block1)]
...
</expt>

with

<iat1_block1>
...
/ branch = [block.iat1_block2]
</block>

<iat1_block2>
...
/ branch = [block.iat1_block3]
</block>
...
<iat1_block8>
...
/ branch = [block.iat1_block9]
</block>

[...]

<iat9_block1>
...
/ branch = [block.iat9_block2]
</block>

<iat9_block2>
...
/ branch = [block.iat9_block3]
</block>
...
<iat9_block8>
...
/ branch = [block.iat9_block9]
</block>
By Haschntii - 10/10/2018

Hello Dave,

Thank you so much or your fast reply, it all works perfect now.
I combined it with <list> now, so I can insert different instructions on different positions and it does exactly what I was loocking for.

Thanks again.
I'll reach out to you if I run into more trouble.

Alex

By Haschntii - 10/11/2018

Hey again,

So I came across a new Problem:
The randomized Presentation of the IAT works fine now, but in the whole Experiment participants should get Something like this: first random Instruktions for all 5 IATs, and afterwards get the IATs in the before selected random order.
So it would be Something like
IAT1_instr, IAT2_instr...IAT5_instr and then IAT1...IAT5.

So I'd Like to somehow store the selected random order to later use it e.g. in a list to Show the exact same Order...

I hope I explained myself clearly?
Cheers
Alex
By Dave - 10/11/2018

Haschntii - Thursday, October 11, 2018
Hey again,

So I came across a new Problem:
The randomized Presentation of the IAT works fine now, but in the whole Experiment participants should get Something like this: first random Instruktions for all 5 IATs, and afterwards get the IATs in the before selected random order.
So it would be Something like
IAT1_instr, IAT2_instr...IAT5_instr and then IAT1...IAT5.

So I'd Like to somehow store the selected random order to later use it e.g. in a list to Show the exact same Order...

I hope I explained myself clearly?
Cheers
Alex

Then store the order in a <list> at runtime, set the <list> to sequential selection and proceed as before from there.
By Haschntii - 10/11/2018

Maybe I'm lacking some basics, but I don't know exactly how to store the order in a list. Could you maybe give an example of how to do it? 
Thank you so much!
By Dave - 10/11/2018

Haschntii - Thursday, October 11, 2018
Maybe I'm lacking some basics, but I don't know exactly how to store the order in a list. Could you maybe give an example of how to do it? 
Thank you so much!

Sure:

//to store the random instruction block order and reproduce it later for the order of the IATs proper
<list blockorder>
/ selectionmode = sequence
</list>

//instruction blocks
<block iat1_instr>
/ onblockbegin = [
list.blockorder.appenditem(block.iat1_block1);
]
/ trials = [1=mytrial]
</block>

<block iat2_instr>
/ onblockbegin = [
list.blockorder.appenditem(block.iat2_block1);
]
/ trials = [1=mytrial]
</block>

<block iat3_instr>
/ onblockbegin = [
list.blockorder.appenditem(block.iat3_block1);
]
/ trials = [1=mytrial]
</block>

//block 1
<block iat1_block1>
/ trials = [1=mytrial]
/ branch = [
block.iat1_block2;
]
</block>

<block iat2_block1>
/ trials = [1=mytrial]
/ branch = [
block.iat2_block2;
]
</block>

<block iat3_block1>
/ trials = [1=mytrial]
/ branch = [
block.iat3_block2;
]
</block>

//block 2
<block iat1_block2>
/ trials = [1=mytrial]
</block>

<block iat2_block2>
/ trials = [1=mytrial]
</block>

<block iat3_block2>
/ trials = [1=mytrial]
</block>

//just a dummy trial
<trial mytrial>
/ stimulusframes = [1=mytext]
/ validresponse = (57)
</trial>

<text mytext>
/ items = ("This is: <%toupper(script.currentblock)%>")
</text>

<expt>
/ blocks = [1-3 = noreplace(iat1_instr, iat2_instr, iat3_instr); 4-6 = list.blockorder;]
</expt>

By Haschntii - 10/12/2018

Thanks so much again for the quick reply!
It all works perfect now! 
Have an great Weekend!

Cheers,
Alex