Millisecond Forums

Query re 'noreplace' and the SCIAT script

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

By becgwin - 2/24/2018

Hi,

I am running an SCIAT script and was doing some analysis of the pictures when I came across an issue with the actual pictures being chosen by the programme. The script is based on an earlier version of what I now think you have available.  I have realised that not all the pictures are being presented even though I have used 'noreplace'.  For example, if we just consider 'chocolateright', even though I may have the following code for items, trial and block: 

<item chocolate>
/ 1 = "chocolate1.jpg"
/ 2 = "chocolate2.jpg"
/ 3 = "chocolate3.jpg"
/ 4 = "chocolate4.jpg"
/ 5 = "chocolate5.jpg"
/ 6 = "chocolate6.jpg"
</item>

<trial chocolateright>
/ pretrialpause = values.pretrialpause
/ stimulusframes = [1 = chocolate]
/isvalidresponse = [trial.chocolateright.response == values.key_left || trial.chocolateright.response == values.key_right]
/iscorrectresponse = [trial.chocolateright.response == values.key_right]
/monkeyresponse = (18, 23)
/ontrialend = [if (trial.chocolateright.correct) values.correct = 1 else values.correct = 0]
/timeout = values.stimuluspresentationtime
/branch = [if (trial.chocolateright.response != values.key_left && trial.chocolateright.response != values.key_right) trial.reminder]
</trial>

<block practice_incompatibletest2>
/ bgstim = (goodleft, chocolateRightMixed, orright, badright)
/ trials = [1=instructions; 2-25 = noreplace(chocolateright, chocolateright, chocolateright, chocolateright, chocolateright, chocolateright, chocolateright,
                goodword, goodpic, goodword, goodpic, goodword, goodpic, goodword, goodpic, goodword, goodpic,
                badword, badpic, badword, badpic, badword, badpic, badword)]
/ errormessage = true(error,200)
/ correctmessage = true (correctresp, 200)
</block>


when I look at the data I might get the following:



While there is the correct number of trials, one of the pictures is left out.  I thought the 'noreplace' would mean the programme worked through the items until they were all used and then would start again.  If I want this to happen how would I do this?  Can you tell me why this doesn't work?

Many thanks,

Rebecca




By Dave - 2/26/2018

becgwin - Saturday, February 24, 2018
Hi,

I am running an SCIAT script and was doing some analysis of the pictures when I came across an issue with the actual pictures being chosen by the programme. The script is based on an earlier version of what I now think you have available.  I have realised that not all the pictures are being presented even though I have used 'noreplace'.  For example, if we just consider 'chocolateright', even though I may have the following code for items, trial and block: 

<item chocolate>
/ 1 = "chocolate1.jpg"
/ 2 = "chocolate2.jpg"
/ 3 = "chocolate3.jpg"
/ 4 = "chocolate4.jpg"
/ 5 = "chocolate5.jpg"
/ 6 = "chocolate6.jpg"
</item>

<trial chocolateright>
/ pretrialpause = values.pretrialpause
/ stimulusframes = [1 = chocolate]
/isvalidresponse = [trial.chocolateright.response == values.key_left || trial.chocolateright.response == values.key_right]
/iscorrectresponse = [trial.chocolateright.response == values.key_right]
/monkeyresponse = (18, 23)
/ontrialend = [if (trial.chocolateright.correct) values.correct = 1 else values.correct = 0]
/timeout = values.stimuluspresentationtime
/branch = [if (trial.chocolateright.response != values.key_left && trial.chocolateright.response != values.key_right) trial.reminder]
</trial>

<block practice_incompatibletest2>
/ bgstim = (goodleft, chocolateRightMixed, orright, badright)
/ trials = [1=instructions; 2-25 = noreplace(chocolateright, chocolateright, chocolateright, chocolateright, chocolateright, chocolateright, chocolateright,
                goodword, goodpic, goodword, goodpic, goodword, goodpic, goodword, goodpic, goodword, goodpic,
                badword, badpic, badword, badpic, badword, badpic, badword)]
/ errormessage = true(error,200)
/ correctmessage = true (correctresp, 200)
</block>


when I look at the data I might get the following:



While there is the correct number of trials, one of the pictures is left out.  I thought the 'noreplace' would mean the programme worked through the items until they were all used and then would start again.  If I want this to happen how would I do this?  Can you tell me why this doesn't work?

Many thanks,

Rebecca





You have 6 chocolate items, but you're running 7 chocolate trials in the block

<block practice_incompatibletest2>
/ bgstim = (goodleft, chocolateRightMixed, orright, badright)
/ trials = [1=instructions; 2-25 = noreplace(chocolateright, chocolateright, chocolateright, chocolateright, chocolateright, chocolateright, chocolateright,
                goodword, goodpic, goodword, goodpic, goodword, goodpic, goodword, goodpic, goodword, goodpic,
                badword, badpic, badword, badpic, badword, badpic, badword)]
/ errormessage = true(error,200)
/ correctmessage = true (correctresp, 200)
</block>

so some item(s) will necessarily have to be presented / selected more than once.