Present randomly a certain number of specific stimuli (prime).


Present randomly a certain number of specific stimuli (prime).

Author
Message
derodriguezz
derodriguezz
Associate Member
Associate Member (116 reputation)Associate Member (116 reputation)Associate Member (116 reputation)Associate Member (116 reputation)Associate Member (116 reputation)Associate Member (116 reputation)Associate Member (116 reputation)Associate Member (116 reputation)Associate Member (116 reputation)

Group: Forum Members
Posts: 10, Visits: 51
Hi!
I'm using the AMP task (affective misattribution procedure), where I must present 20 trials of one kind of image (primeA), 20 trials of another kind (primeB) and some neutral stimuli. When I run the script, the differents stimuli are presented different number of times between them, instead the quantity that I need. I got this result with this code:
<block test>
/ bgstim = (attributeAlabel, attributeBlabel)
/ trials = [1 = instructions; 2-61 = noreplacenorepeat(primeA, primeB, primeNeutral)]
</block>


To get the proportion between primes (20/20) I wrote this code (that presents 4 randomized trials of stimuli primeA and stimuli primeB, followed by one neutral, 10 times): 

<block test>
/ bgstim = (attributeAlabel, attributeBlabel)
/ trials = [
1 = instructions; 2 = getReady; 
3-6 = noreplacenorepeat(primeA, primeB); 7 = primeNeutral; 
8-11 = noreplacenorepeat(primeA, primeB); 12 = primeNeutral; 
13-16 = noreplacenorepeat(primeA, primeB); 17 = primeNeutral;
18-21 = noreplacenorepeat(primeA, primeB); 22 = primeNeutral;
23-26 = noreplacenorepeat(primeA, primeB); 27 = primeNeutral;
28-31 = noreplacenorepeat(primeA, primeB); 32 = primeNeutral;
33-36 = noreplacenorepeat(primeA, primeB); 37 = primeNeutral;
38-41 = noreplacenorepeat(primeA, primeB); 42 = primeNeutral;
43-46 = noreplacenorepeat(primeA, primeB); 47 = primeNeutral;
48-51 = noreplacenorepeat(primeA,primeB); 52 = primeNeutral;
]
/ recorddata = true
</block>

But still, the stimuli are not fully randomized. Is there any way to make that code simpler, guaranteeing at the end the number of presentation of all kind of stimuli?

Dave
Dave
Supreme Being
Supreme Being (418K reputation)Supreme Being (418K reputation)Supreme Being (418K reputation)Supreme Being (418K reputation)Supreme Being (418K reputation)Supreme Being (418K reputation)Supreme Being (418K reputation)Supreme Being (418K reputation)Supreme Being (418K reputation)

Group: Administrators
Posts: 8.9K, Visits: 37K
derodriguezz - Sunday, February 11, 2018
Hi!
I'm using the AMP task (affective misattribution procedure), where I must present 20 trials of one kind of image (primeA), 20 trials of another kind (primeB) and some neutral stimuli. When I run the script, the differents stimuli are presented different number of times between them, instead the quantity that I need. I got this result with this code:
<block test>
/ bgstim = (attributeAlabel, attributeBlabel)
/ trials = [1 = instructions; 2-61 = noreplacenorepeat(primeA, primeB, primeNeutral)]
</block>


To get the proportion between primes (20/20) I wrote this code (that presents 4 randomized trials of stimuli primeA and stimuli primeB, followed by one neutral, 10 times): 

<block test>
/ bgstim = (attributeAlabel, attributeBlabel)
/ trials = [
1 = instructions; 2 = getReady; 
3-6 = noreplacenorepeat(primeA, primeB); 7 = primeNeutral; 
8-11 = noreplacenorepeat(primeA, primeB); 12 = primeNeutral; 
13-16 = noreplacenorepeat(primeA, primeB); 17 = primeNeutral;
18-21 = noreplacenorepeat(primeA, primeB); 22 = primeNeutral;
23-26 = noreplacenorepeat(primeA, primeB); 27 = primeNeutral;
28-31 = noreplacenorepeat(primeA, primeB); 32 = primeNeutral;
33-36 = noreplacenorepeat(primeA, primeB); 37 = primeNeutral;
38-41 = noreplacenorepeat(primeA, primeB); 42 = primeNeutral;
43-46 = noreplacenorepeat(primeA, primeB); 47 = primeNeutral;
48-51 = noreplacenorepeat(primeA,primeB); 52 = primeNeutral;
]
/ recorddata = true
</block>

But still, the stimuli are not fully randomized. Is there any way to make that code simpler, guaranteeing at the end the number of presentation of all kind of stimuli?

If you want 50 trials total, with 20 x primeA, 20 x primeB, and 10 x primeNeutral, all in random order, you need to enter the trials into the noreplace() selection pool in the desired proportions:

<block test>
/ bgstim = (attributeAlabel, attributeBlabel)
/ trials = [1 = instructions; 2-51 = noreplacenorepeat(primeA, primeA, primeB, primeB, primeNeutral)]
</block>
derodriguezz
derodriguezz
Associate Member
Associate Member (116 reputation)Associate Member (116 reputation)Associate Member (116 reputation)Associate Member (116 reputation)Associate Member (116 reputation)Associate Member (116 reputation)Associate Member (116 reputation)Associate Member (116 reputation)Associate Member (116 reputation)

Group: Forum Members
Posts: 10, Visits: 51
Dave - Monday, February 12, 2018
derodriguezz - Sunday, February 11, 2018
Hi!
I'm using the AMP task (affective misattribution procedure), where I must present 20 trials of one kind of image (primeA), 20 trials of another kind (primeB) and some neutral stimuli. When I run the script, the differents stimuli are presented different number of times between them, instead the quantity that I need. I got this result with this code:
<block test>
/ bgstim = (attributeAlabel, attributeBlabel)
/ trials = [1 = instructions; 2-61 = noreplacenorepeat(primeA, primeB, primeNeutral)]
</block>


To get the proportion between primes (20/20) I wrote this code (that presents 4 randomized trials of stimuli primeA and stimuli primeB, followed by one neutral, 10 times): 

<block test>
/ bgstim = (attributeAlabel, attributeBlabel)
/ trials = [
1 = instructions; 2 = getReady; 
3-6 = noreplacenorepeat(primeA, primeB); 7 = primeNeutral; 
8-11 = noreplacenorepeat(primeA, primeB); 12 = primeNeutral; 
13-16 = noreplacenorepeat(primeA, primeB); 17 = primeNeutral;
18-21 = noreplacenorepeat(primeA, primeB); 22 = primeNeutral;
23-26 = noreplacenorepeat(primeA, primeB); 27 = primeNeutral;
28-31 = noreplacenorepeat(primeA, primeB); 32 = primeNeutral;
33-36 = noreplacenorepeat(primeA, primeB); 37 = primeNeutral;
38-41 = noreplacenorepeat(primeA, primeB); 42 = primeNeutral;
43-46 = noreplacenorepeat(primeA, primeB); 47 = primeNeutral;
48-51 = noreplacenorepeat(primeA,primeB); 52 = primeNeutral;
]
/ recorddata = true
</block>

But still, the stimuli are not fully randomized. Is there any way to make that code simpler, guaranteeing at the end the number of presentation of all kind of stimuli?

If you want 50 trials total, with 20 x primeA, 20 x primeB, and 10 x primeNeutral, all in random order, you need to enter the trials into the noreplace() selection pool in the desired proportions:

<block test>
/ bgstim = (attributeAlabel, attributeBlabel)
/ trials = [1 = instructions; 2-51 = noreplacenorepeat(primeA, primeA, primeB, primeB, primeNeutral)]
</block>

okey, so if i understood correctly, if i want 60 trials total, with 20xprimeA, 20xPrimeB, and 20xprimeNeutral, all in random order, this will be the proportions?

<block test>
/ bgstim = (attributeAlabel, attributeBlabel)
/ trials = [
1 = instructions; 2 = getReady;
3-62 = noreplacenorepeat(primeA, primeA, primeA, primeB, primeB, primeB, primeNeutral, primeNeutral, primeNeutral)
]
/ recorddata = true
</block>

Dave
Dave
Supreme Being
Supreme Being (418K reputation)Supreme Being (418K reputation)Supreme Being (418K reputation)Supreme Being (418K reputation)Supreme Being (418K reputation)Supreme Being (418K reputation)Supreme Being (418K reputation)Supreme Being (418K reputation)Supreme Being (418K reputation)

Group: Administrators
Posts: 8.9K, Visits: 37K
derodriguezz - Thursday, February 22, 2018
Dave - Monday, February 12, 2018
derodriguezz - Sunday, February 11, 2018
Hi!
I'm using the AMP task (affective misattribution procedure), where I must present 20 trials of one kind of image (primeA), 20 trials of another kind (primeB) and some neutral stimuli. When I run the script, the differents stimuli are presented different number of times between them, instead the quantity that I need. I got this result with this code:
<block test>
/ bgstim = (attributeAlabel, attributeBlabel)
/ trials = [1 = instructions; 2-61 = noreplacenorepeat(primeA, primeB, primeNeutral)]
</block>


To get the proportion between primes (20/20) I wrote this code (that presents 4 randomized trials of stimuli primeA and stimuli primeB, followed by one neutral, 10 times): 

<block test>
/ bgstim = (attributeAlabel, attributeBlabel)
/ trials = [
1 = instructions; 2 = getReady; 
3-6 = noreplacenorepeat(primeA, primeB); 7 = primeNeutral; 
8-11 = noreplacenorepeat(primeA, primeB); 12 = primeNeutral; 
13-16 = noreplacenorepeat(primeA, primeB); 17 = primeNeutral;
18-21 = noreplacenorepeat(primeA, primeB); 22 = primeNeutral;
23-26 = noreplacenorepeat(primeA, primeB); 27 = primeNeutral;
28-31 = noreplacenorepeat(primeA, primeB); 32 = primeNeutral;
33-36 = noreplacenorepeat(primeA, primeB); 37 = primeNeutral;
38-41 = noreplacenorepeat(primeA, primeB); 42 = primeNeutral;
43-46 = noreplacenorepeat(primeA, primeB); 47 = primeNeutral;
48-51 = noreplacenorepeat(primeA,primeB); 52 = primeNeutral;
]
/ recorddata = true
</block>

But still, the stimuli are not fully randomized. Is there any way to make that code simpler, guaranteeing at the end the number of presentation of all kind of stimuli?

If you want 50 trials total, with 20 x primeA, 20 x primeB, and 10 x primeNeutral, all in random order, you need to enter the trials into the noreplace() selection pool in the desired proportions:

<block test>
/ bgstim = (attributeAlabel, attributeBlabel)
/ trials = [1 = instructions; 2-51 = noreplacenorepeat(primeA, primeA, primeB, primeB, primeNeutral)]
</block>

okey, so if i understood correctly, if i want 60 trials total, with 20xprimeA, 20xPrimeB, and 20xprimeNeutral, all in random order, this will be the proportions?

<block test>
/ bgstim = (attributeAlabel, attributeBlabel)
/ trials = [
1 = instructions; 2 = getReady;
3-62 = noreplacenorepeat(primeA, primeA, primeA, primeB, primeB, primeB, primeNeutral, primeNeutral, primeNeutral)
]
/ recorddata = true
</block>

This will work, but since you want equal proportions, you don't need to enter each trial multiple times.

3-62 = noreplacenorepeat(primeA, primeB, primeNeutral)

will do just fine, and you'll end up with 20 primeA trials, 20 primeB trials and 20 primeNeutral trials in random order.

GO


Reading This Topic


Login
Existing Account
Email Address:


Password:


Social Logins

Select a Forum....






Millisecond Forums


Search