Query re 'noreplace' and the SCIAT script


Author
Message
becgwin
becgwin
Guru (7K reputation)Guru (7K reputation)Guru (7K reputation)Guru (7K reputation)Guru (7K reputation)Guru (7K reputation)Guru (7K reputation)Guru (7K reputation)Guru (7K reputation)
Group: Forum Members
Posts: 53, Visits: 313
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





Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
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.

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search