Millisecond Forums

non-random selection of stimuli

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

By Georgia - 5/19/2015

Hello,
I am new to inquisit and have just learned how to program a full task myself. I would like to be able to program a non-random selection of stimuli that reflects specific probabilities, but as far as I can tell there is the 'noreplace' or the 'noreplacenorepeat' option which randomly selects stimuli either with or without repeating. Is there any way to program a particular probability of a certain stimulus being presented for each trial or each block of trials?
The only other option I see is to hand-code my blocks to create the probabilities myself. As an example, I've pasted code below for the following: 70% chance of seeing stimulus 1, 10% chance of seeing stimulus 2, 10% chance of seeing stimulus 3, and 10% chance of seeing stimulus 4. Basically 7/10 trials are stimulus 1 and the rest are stimuli 2-4. My syntax seems to be wrong so I am wondering if this is even possible to do. 

<block practice>
/trials = [1=stimulus1; 2=stimulus2; 3=stimulus4; 4=stimulus1; 5=stimulus3; 6=stimulus1; 7=stimulus1; 8=stimulus1; 9=stimulus1; 10=stimulus1]
/pretrialpause = 500
</block>

Any help would be much appreciated!

Thanks,
Georgia


By Dave - 5/19/2015

What matters with trial selection via the <block> element's /trials attribute is the *proportions you enter into the pool*. For example

/ trials = [1-6=noreplace(a,b)]

will sample randomly (without replacement) <trial a> and <trial b> in *equal proportions* / a 1:1 ratio. You'll end up with exactly 3 "a"-trials and 3 "b"-trials in random order. With

/ trials = [1-6=noreplace(a,a,b)]

the ratio is 2:1, i.e., you'll end up with 4 "a"-trials and 2 "b"-trials in random order. As to your own task, what you'll want to do is thus:

/ trials = [1-10=noreplace(stimulus1, stimulus1, stimulus1, stimulus1, stimulus1, stimulus1, stimulus1, stimulus2, stimulus3, stimulus4)]
By Georgia - 5/21/2015

Thanks, this really helped!

Georgia