By charlottebooth - 11/2/2017
Hey,
I'm having trouble randomizing my stimulus set.
Imagine you have three levels of reward (e.g. +£1, +£2, +£3) which are given according to different stimuli (e.g. square, circle, triangle) but you want to randomize this by participant so that e.g. participant 1 always has £1 for a square, but this is different for each participant. How would you go about this? Is there a type of selection that would work, or is there much more code involved that creates specific lists for each participant at the beginning of the experiment?
<picture shapes> /erase = false /items = ("square.png", "circle.png", "triangle.png") /position = (50, 50) /select = ??? </picture>
<trial reward1> /stimulustimes = [0 = pointstotal, shape] /trialduration = 3000 /correctresponse = (lbuttondown) /validresponse = (noresponse) /validresponse = (lbuttondown) /ontrialend = [if (trial.reward.correct) values.pointstotal +=1;] </trial>
|
By Dave - 11/3/2017
+xHey, I'm having trouble randomizing my stimulus set. Imagine you have three levels of reward (e.g. +£1, +£2, +£3) which are given according to different stimuli (e.g. square, circle, triangle) but you want to randomize this by participant so that e.g. participant 1 always has £1 for a square, but this is different for each participant. How would you go about this? Is there a type of selection that would work, or is there much more code involved that creates specific lists for each participant at the beginning of the experiment? <picture shapes> /erase = false /items = ("square.png", "circle.png", "triangle.png") /position = (50, 50) /select = ??? </picture> <trial reward1> /stimulustimes = [0 = pointstotal, shape] /trialduration = 3000 /correctresponse = (lbuttondown) /validresponse = (noresponse) /validresponse = (lbuttondown) /ontrialend = [if (trial.reward.correct) values.pointstotal +=1;] </trial> Link a <list> containing three values to the <picture> element.
<picture shapes> /erase = false /items = ("square.png", "circle.png", "triangle.png") /position = (50, 50) /select = noreplace </picture>
<list rewards> / items = (values.squarereward, values.circlereward, values.trianglereward) / selectionmode = picture.shapes.currentindex </list>
with
<values> / squarereward = 0 / circlereward = 0 / trianglereward = 0 </values>
Set the three values randomly to either 1, 2 or 3 /onexptbegin
<list rewardamounts> / items = (1,2,3) / selectionrate = always </list>
<expt> / onexptbegin = [values.squarereward = list.rewardamounts.nextvalue; values.circlereward = list.rewardamounts.nextvalue; values.trianglereward = list.rewardamounts.nextvalue; ] ... </expt>
Then, in your <trial> you simply do:
<trial reward1> /stimulustimes = [0 = pointstotal, shape] /trialduration = 3000 /correctresponse = (lbuttondown) /validresponse = (noresponse) /validresponse = (lbuttondown) /ontrialend = [if (trial.reward.correct) values.pointstotal +=list.rewards.nextvalue;] </trial>
|
|