By NatalieM - 1/27/2014
Hello,
I have several clusters of trials that each share the same facial stimuli within each cluster. I would like to present my trials randomly in a block that includes all trials from all clusters with the constraint that no two trials from the same cluster are presented one after the other. Any suggestions on how I can accomplish this?
|
By Dave - 1/27/2014
Either use noreplacenorepeat in the <block> element's /trials attribute
/ trials = [1-100 = noreplacenorepeat(cluster1trial, cluster2trial, cluster3trial, ...)]
and/or do trial selection via <list> elements if you require something more complex.
|
By NatalieM - 1/28/2014
Thanks for the info Dave. Would you please elaborate on how I can use the list function?
Each cluster has 8 trials:
<block A> /trials = [1-24 = noreplacenorepeat(neutral1targetleft, hostile1targetleft, neutral1targetright, hostile1targetright, neutral1onlytargetright neutral1onlytargetleft, neutral1onlytargetleft, neutral1onlytargetright
neutral2targetleft, hostile2targetleft, neutral2targetright, hostile2targetright, neutral2onlytargetright neutral2onlytargetleft, neutral2onlytargetleft, neutral2onlytargetright,
neutral3targetleft, hostile3targetleft, neutral3targetright, hostile3targetright, neutral3onlytargetright neutral3onlytargetleft, neutral3onlytargetleft, neutral3onlytargetright, .......
neutral19targetleft, hostile19targetleft, neutral19targetright, hostile19targetright, neutral19onlytargetright neutral19onlytargetleft, neutral19onlytargetleft, neutral19onlytargetright,)] </block>
I would like random selection of trials but in a sequence so that trials from the same cluster never run consecutively (e.g., neutral2targetleft does not follow or precede other trials from cluster 2).
Thanks for your help, much appreciated!
|
By Dave - 1/28/2014
Here's a simple, scaled-down example w/ 4 clusters of 4 trials each (16 trials total) -- trials within a cluster are selected randomly, no two trials from the same cluster are run consecutively:
<block myblock> / trials = [1-16 = list.masterlist] </block>
<list masterlist> / items = [list.cluster1trials.nextvalue; list.cluster2trials.nextvalue; list.cluster3trials.nextvalue; list.cluster4trials.nextvalue;] / selectionmode = noreplacenorepeat(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4) </list>
<list cluster1trials> / items = (trial.cluster1a, trial.cluster1b, trial.cluster1c, trial.cluster1d) </list>
<list cluster2trials> / items = (trial.cluster2a, trial.cluster2b, trial.cluster2c, trial.cluster2d) </list>
<list cluster3trials> / items = (trial.cluster3a, trial.cluster3b, trial.cluster3c, trial.cluster3d) </list>
<list cluster4trials> / items = (trial.cluster4a, trial.cluster4b, trial.cluster4c, trial.cluster4d) </list>
<trial cluster1a> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<trial cluster1b> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<trial cluster1c> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<trial cluster1d> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<trial cluster2a> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<trial cluster2b> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<trial cluster2c> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<trial cluster2d> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<trial cluster3a> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<trial cluster3b> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<trial cluster3c> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<trial cluster3d> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<trial cluster4a> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<trial cluster4b> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<trial cluster4c> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<trial cluster4d> / stimulusframes = [1=mytext] / trialduration = 500 </trial>
<text mytext> / items = ("<%script.currenttrial%>") </text>
|
By parsonss - 3/2/2015
Hey Dave,
I am trying to adapt a dot-probe along the same lines as above. I tried your method posted here, but an error appears saying that "the /trials command selected an element that was not a type of trial" I can only assume that it does not like the list being there, but I cant really see much of a difference between what I've done and what you posted. Any guidance? I've put the main sections below
<block PosNeu> /preinstructions = (blockbegin) /trials = [1-8 = noreplace(Practice_LeftCongruentV, Practice_LeftCongruentH, Practice_LeftIncongruentV, Practice_LeftIncongruentH, Practice_RightCongruentV, Practice_RightCongruentH, Practice_RightIncongruentV, Practice_RightIncongruentH); 9-94 = list.posneuList] /postinstructions = (blockbreak) </block>
<list PosNeuList> /items = [trial.numbers, trial.PosNeuMod_LeftCongruentV, trial.PosNeuMod_LeftCongruentH, trial.PosNeuMod_LeftIncongruentV, trial.PosNeuMod_LeftIncongruentH, trial.PosNeuMod_RightCongruentV, trial.PosNeuMod_RightCongruentH, trial.PosNeuMod_RightIncongruentV, trial.PosNeuMod_RightIncongruentH]
/selectionmode = noreplacenorepeat( 1,1,1,1,1,1, 2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,3,3, 4,4,4,4,4,4,4,4,4,4, 5,5,5,5,5,5,5,5,5,5, 6,6,6,6,6,6,6,6,6,6, 7,7,7,7,7,7,7,7,7,7, 8,8,8,8,8,8,8,8,8,8, 9,9,9,9,9,9,9,9,9,9)
/maxrunsize = 2 </list>
There's also the trials themselves, but they may take up too much room
Any advice appreciated.
Sam
|
|