Millisecond Forums

IAT trials - number of times each word appears

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

By Nathalia Melo - 2/10/2019

I'm trying to create an IAT with a specific number of times each word appears in the blocks. There are 8 words per category and 4 categories. I need each word to appear once in compatibletest1, totalizing 32 trials, and twice in compatibletest2, totalizing 64 trials. I need incompatible blocks with the same patern. Words should be selected randomly, but there must be a rule that indicates how many times they will appear. Does anyone know how to program this?


Thanks,
Nathalia

By Dave - 2/10/2019

Nathalia Melo - Monday, February 11, 2019

I'm trying to create an IAT with a specific number of times each word appears in the blocks. There are 8 words per category and 4 categories. I need each word to appear once in compatibletest1, totalizing 32 trials, and twice in compatibletest2, totalizing 64 trials. I need incompatible blocks with the same patern. Words should be selected randomly, but there must be a rule that indicates how many times they will appear. Does anyone know how to program this?


Thanks,
Nathalia

You need to adjust the amount of trials in the respective <block> elements accordingly. Do so via the <block> elements' /trials attributes.
By Nathalia Melo - 2/10/2019

Dave - Monday, February 11, 2019
[quote]
Nathalia Melo - Monday, February 11, 2019

I'm trying to create an IAT with a specific number of times each word appears in the blocks. There are 8 words per category and 4 categories. I need each word to appear once in compatibletest1, totalizing 32 trials, and twice in compatibletest2, totalizing 64 trials. I need incompatible blocks with the same patern. Words should be selected randomly, but there must be a rule that indicates how many times they will appear. Does anyone know how to program this?


Thanks,
Nathalia

You need to adjust the amount of trials in the respective <block> elements accordingly. Do so via the <block> elements' /trials attributes.

I've already done that, but I don't know how to program the number of times I want each word to appear (one in the first block and twice in the second). Would it be through selection mode? I've already tried all of them.

That's my syntax:

<block compatibletest1>
/ bgstim = (targetAleft, orleft, attributeAleftmixed, targetBright, orright, attributeBrightmixed)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21,23,25,27,29,31= noreplacenorepeat(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 = noreplacenorepeat(attributeA, attributeB)]

block compatibletest2>
/ bgstim = (targetAleft, orleft, attributeAleftmixed, targetBright, orright, attributeBrightmixed)
/ trials = [
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64 = noreplacenorepeat(targetAleft, targetAleft, targetBright, targetBright);
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63 = noreplacenorepeat(attributeA, attributeA, attributeB, attributeB)]
By Dave - 2/11/2019

Nathalia Melo - Monday, February 11, 2019
Dave - Monday, February 11, 2019
[quote]
Nathalia Melo - Monday, February 11, 2019

I'm trying to create an IAT with a specific number of times each word appears in the blocks. There are 8 words per category and 4 categories. I need each word to appear once in compatibletest1, totalizing 32 trials, and twice in compatibletest2, totalizing 64 trials. I need incompatible blocks with the same patern. Words should be selected randomly, but there must be a rule that indicates how many times they will appear. Does anyone know how to program this?


Thanks,
Nathalia

You need to adjust the amount of trials in the respective <block> elements accordingly. Do so via the <block> elements' /trials attributes.

I've already done that, but I don't know how to program the number of times I want each word to appear (one in the first block and twice in the second). Would it be through selection mode? I've already tried all of them.

That's my syntax:

<block compatibletest1>
/ bgstim = (targetAleft, orleft, attributeAleftmixed, targetBright, orright, attributeBrightmixed)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21,23,25,27,29,31= noreplacenorepeat(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 = noreplacenorepeat(attributeA, attributeB)]

block compatibletest2>
/ bgstim = (targetAleft, orleft, attributeAleftmixed, targetBright, orright, attributeBrightmixed)
/ trials = [
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64 = noreplacenorepeat(targetAleft, targetAleft, targetBright, targetBright);
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63 = noreplacenorepeat(attributeA, attributeA, attributeB, attributeB)]

Let's take <block compatibletest1>. The items in your targetA, targetB, attributeA, and attributeB stimuli are sampled randomly without replacement. I.e., with 8 items per category, if you want each item to be sampled exactly once during the block, you need to run 8 targetAleft trials, 8 targetBright trials, 8 attributeA trials, and 8 attributeB trials. Your code doesn't do that, it runs too few targetAleft / targetBright trials. The code ought to read:

<block compatibletest1>
/ bgstim = (targetAleft, orleft, attributeAleftmixed, targetBright, orright, attributeBrightmixed)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33= noreplacenorepeat(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 = noreplacenorepeat(attributeA, attributeB)]
...
</block>

i.e. you want 16 target trials, with targetAleft and targetBright sampled in equal proportions, resulting in 8 trials each.

3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33= noreplacenorepeat(targetAleft, targetBright);

The same reasoning applies to <block compatibletest2>.

In addition, you can reset the various stimulus elements' selection pools at the start of the block.

<block compatibletest1>
/ onblockbegin = [text.attributea.resetselection();
text.attributeb.resetselection();
text.targeta.resetselection();
text.targetb.resetselection();
]
/ bgstim = (targetAleft, orleft, attributeAleftmixed, targetBright, orright, attributeBrightmixed)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33= noreplacenorepeat(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 = noreplacenorepeat(attributeA, attributeB)]
...
</block>

That way you can guarantee that all 8 items are available and free to be sampled at the start of the block.
By Nathalia Melo - 2/11/2019

Dave - Monday, February 11, 2019
Nathalia Melo - Monday, February 11, 2019
Dave - Monday, February 11, 2019
[quote]
Nathalia Melo - Monday, February 11, 2019

I'm trying to create an IAT with a specific number of times each word appears in the blocks. There are 8 words per category and 4 categories. I need each word to appear once in compatibletest1, totalizing 32 trials, and twice in compatibletest2, totalizing 64 trials. I need incompatible blocks with the same patern. Words should be selected randomly, but there must be a rule that indicates how many times they will appear. Does anyone know how to program this?


Thanks,
Nathalia

You need to adjust the amount of trials in the respective <block> elements accordingly. Do so via the <block> elements' /trials attributes.

I've already done that, but I don't know how to program the number of times I want each word to appear (one in the first block and twice in the second). Would it be through selection mode? I've already tried all of them.

That's my syntax:

<block compatibletest1>
/ bgstim = (targetAleft, orleft, attributeAleftmixed, targetBright, orright, attributeBrightmixed)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21,23,25,27,29,31= noreplacenorepeat(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 = noreplacenorepeat(attributeA, attributeB)]

block compatibletest2>
/ bgstim = (targetAleft, orleft, attributeAleftmixed, targetBright, orright, attributeBrightmixed)
/ trials = [
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64 = noreplacenorepeat(targetAleft, targetAleft, targetBright, targetBright);
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63 = noreplacenorepeat(attributeA, attributeA, attributeB, attributeB)]

Let's take <block compatibletest1>. The items in your targetA, targetB, attributeA, and attributeB stimuli are sampled randomly without replacement. I.e., with 8 items per category, if you want each item to be sampled exactly once during the block, you need to run 8 targetAleft trials, 8 targetBright trials, 8 attributeA trials, and 8 attributeB trials. Your code doesn't do that, it runs too few targetAleft / targetBright trials. The code ought to read:

<block compatibletest1>
/ bgstim = (targetAleft, orleft, attributeAleftmixed, targetBright, orright, attributeBrightmixed)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33= noreplacenorepeat(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 = noreplacenorepeat(attributeA, attributeB)]
...
</block>

i.e. you want 16 target trials, with targetAleft and targetBright sampled in equal proportions, resulting in 8 trials each.

3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33= noreplacenorepeat(targetAleft, targetBright);

The same reasoning applies to <block compatibletest2>.

In addition, you can reset the various stimulus elements' selection pools at the start of the block.

<block compatibletest1>
/ onblockbegin = [text.attributea.resetselection();
text.attributeb.resetselection();
text.targeta.resetselection();
text.targetb.resetselection();
]
/ bgstim = (targetAleft, orleft, attributeAleftmixed, targetBright, orright, attributeBrightmixed)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33= noreplacenorepeat(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32 = noreplacenorepeat(attributeA, attributeB)]
...
</block>

That way you can guarantee that all 8 items are available and free to be sampled at the start of the block.

It worked. Thanks a lot!