Query re 'noreplace' and the SCIAT script


Query re 'noreplace' and the SCIAT script

Author
Message
becgwin
becgwin
Distinguished Member
Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K 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
Supreme Being (428K reputation)Supreme Being (428K reputation)Supreme Being (428K reputation)Supreme Being (428K reputation)Supreme Being (428K reputation)Supreme Being (428K reputation)Supreme Being (428K reputation)Supreme Being (428K reputation)Supreme Being (428K reputation)

Group: Administrators
Posts: 8.9K, Visits: 38K
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


Reading This Topic


Login
Existing Account
Email Address:


Password:


Social Logins

Select a Forum....






Millisecond Forums


Search