Recording data of stimuli presented from a list


Author
Message
jm560@sussex.ac.uk
jm560@sussex.ac.uk
Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)
Group: Forum Members
Posts: 25, Visits: 208
Hi,

My task presents one of three distractors on every trial retrieved from a list. This works well but I am struggling to record which stimulus has been presented on each trial. Currently the task records reaction time for each trial but I need to be able to match that with the distractor type. Any help would be appreciated! Even direction to other resources, I'm not sure how well i understand data recording and 'values' beyond what i've learnt from the online descriptions & simple demos. Relevant code posted below...

<picture food>
/ items = ("food1.png", "food2.png", "food3.png", "food4.png", "food5.png", "food6.png")
/ select = noreplace
/ position = (50%, 50%)
/ size = (1px * values.imagewidth * expressions.ratio_pxpermm, 1 px * values.imageheight * expressions.ratio_pxpermm)
</picture>

<picture nature>
/ items = ("nature1.png", "nature2.png", "nature3.png", "nature4.png", "nature5.png", "nature6.png")
/ select = noreplace
/ size = (1px * values.imagewidth * expressions.ratio_pxpermm, 1 px * values.imageheight * expressions.ratio_pxpermm)
</picture>

<picture blank>
/ items = ("blank.bmp")
/ select =replace
/ position = (50%, 50%)
</picture>

<list Lowdistractor>
/ items = (picture.nature, picture.food, picture.blank)
/ itemprobabilities = (.10, .10, .80)
/ poolsize = 60
</list>

<values>
/distractor = list.Lowdistractor
</values>

<trial lowX1>
/ ontrialbegin = [trial.lowX1.insertstimulustime(list.Lowdistractor.nextvalue,500);]
/ ontrialend = [trial.lowX1.resetstimulusframes(); ]
/ stimulustimes = [1=fixation; 500=sequence (fixationcover, XLD1, Ll2filler, Ll3filler, Ll4filler, Ll5filler, Ll6filler); 600=eraseblank]
/ validresponse = ("0", "2")
/ correctresponse = ("0")
/ response = timeout(2000)
/ beginresponsetime = 500
</trial>

<data>
/ columns = (date, time, group, subject, trialcode, blockcode, correct, stimulusitem, values.distractor)
</data>

Whole script is attached if needed, but obviously will not work without all the stimuli etc.

Thanks!
Jenny
Attachments
PL_AB.iqx (258 views, 33.00 KB)
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: 105K
jm560@sussex.ac.uk - Tuesday, June 13, 2017
Hi,

My task presents one of three distractors on every trial retrieved from a list. This works well but I am struggling to record which stimulus has been presented on each trial. Currently the task records reaction time for each trial but I need to be able to match that with the distractor type. Any help would be appreciated! Even direction to other resources, I'm not sure how well i understand data recording and 'values' beyond what i've learnt from the online descriptions & simple demos. Relevant code posted below...

<picture food>
/ items = ("food1.png", "food2.png", "food3.png", "food4.png", "food5.png", "food6.png")
/ select = noreplace
/ position = (50%, 50%)
/ size = (1px * values.imagewidth * expressions.ratio_pxpermm, 1 px * values.imageheight * expressions.ratio_pxpermm)
</picture>

<picture nature>
/ items = ("nature1.png", "nature2.png", "nature3.png", "nature4.png", "nature5.png", "nature6.png")
/ select = noreplace
/ size = (1px * values.imagewidth * expressions.ratio_pxpermm, 1 px * values.imageheight * expressions.ratio_pxpermm)
</picture>

<picture blank>
/ items = ("blank.bmp")
/ select =replace
/ position = (50%, 50%)
</picture>

<list Lowdistractor>
/ items = (picture.nature, picture.food, picture.blank)
/ itemprobabilities = (.10, .10, .80)
/ poolsize = 60
</list>

<values>
/distractor = list.Lowdistractor
</values>

<trial lowX1>
/ ontrialbegin = [trial.lowX1.insertstimulustime(list.Lowdistractor.nextvalue,500);]
/ ontrialend = [trial.lowX1.resetstimulusframes(); ]
/ stimulustimes = [1=fixation; 500=sequence (fixationcover, XLD1, Ll2filler, Ll3filler, Ll4filler, Ll5filler, Ll6filler); 600=eraseblank]
/ validresponse = ("0", "2")
/ correctresponse = ("0")
/ response = timeout(2000)
/ beginresponsetime = 500
</trial>

<data>
/ columns = (date, time, group, subject, trialcode, blockcode, correct, stimulusitem, values.distractor)
</data>

Whole script is attached if needed, but obviously will not work without all the stimuli etc.

Thanks!
Jenny

<values>
/distractor = list.Lowdistractor
</values>

^this does not make sense and will not work. list.lowdistractor returns nothing. Moreover, you're not updating the value anywhere, whereas you'll want to do that on a trial-by-trial basis. In other words, you'll want to do something like this if you want to capture which distractor <picture> element was selected on a given trial:

<trial lowX1>
/ ontrialbegin = [trial.lowX1.insertstimulustime(list.Lowdistractor.nextvalue,500);]
/ ontrialbegin = [values.distractor = list.Lowdistractor.currentvalue;]
/ ontrialend = [trial.lowX1.resetstimulusframes(); ]
/ stimulustimes = [1=fixation; 500=sequence (fixationcover, XLD1, Ll2filler, Ll3filler, Ll4filler, Ll5filler, Ll6filler); 600=eraseblank]
/ validresponse = ("0", "2")
/ correctresponse = ("0")
/ response = timeout(2000)
/ beginresponsetime = 500
</trial>
jm560@sussex.ac.uk
jm560@sussex.ac.uk
Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)
Group: Forum Members
Posts: 25, Visits: 208
Dave - Tuesday, June 13, 2017
jm560@sussex.ac.uk - Tuesday, June 13, 2017
Hi,

My task presents one of three distractors on every trial retrieved from a list. This works well but I am struggling to record which stimulus has been presented on each trial. Currently the task records reaction time for each trial but I need to be able to match that with the distractor type. Any help would be appreciated! Even direction to other resources, I'm not sure how well i understand data recording and 'values' beyond what i've learnt from the online descriptions & simple demos. Relevant code posted below...

<picture food>
/ items = ("food1.png", "food2.png", "food3.png", "food4.png", "food5.png", "food6.png")
/ select = noreplace
/ position = (50%, 50%)
/ size = (1px * values.imagewidth * expressions.ratio_pxpermm, 1 px * values.imageheight * expressions.ratio_pxpermm)
</picture>

<picture nature>
/ items = ("nature1.png", "nature2.png", "nature3.png", "nature4.png", "nature5.png", "nature6.png")
/ select = noreplace
/ size = (1px * values.imagewidth * expressions.ratio_pxpermm, 1 px * values.imageheight * expressions.ratio_pxpermm)
</picture>

<picture blank>
/ items = ("blank.bmp")
/ select =replace
/ position = (50%, 50%)
</picture>

<list Lowdistractor>
/ items = (picture.nature, picture.food, picture.blank)
/ itemprobabilities = (.10, .10, .80)
/ poolsize = 60
</list>

<values>
/distractor = list.Lowdistractor
</values>

<trial lowX1>
/ ontrialbegin = [trial.lowX1.insertstimulustime(list.Lowdistractor.nextvalue,500);]
/ ontrialend = [trial.lowX1.resetstimulusframes(); ]
/ stimulustimes = [1=fixation; 500=sequence (fixationcover, XLD1, Ll2filler, Ll3filler, Ll4filler, Ll5filler, Ll6filler); 600=eraseblank]
/ validresponse = ("0", "2")
/ correctresponse = ("0")
/ response = timeout(2000)
/ beginresponsetime = 500
</trial>

<data>
/ columns = (date, time, group, subject, trialcode, blockcode, correct, stimulusitem, values.distractor)
</data>

Whole script is attached if needed, but obviously will not work without all the stimuli etc.

Thanks!
Jenny

<values>
/distractor = list.Lowdistractor
</values>

^this does not make sense and will not work. list.lowdistractor returns nothing. Moreover, you're not updating the value anywhere, whereas you'll want to do that on a trial-by-trial basis. In other words, you'll want to do something like this if you want to capture which distractor <picture> element was selected on a given trial:

<trial lowX1>
/ ontrialbegin = [trial.lowX1.insertstimulustime(list.Lowdistractor.nextvalue,500);]
/ ontrialbegin = [values.distractor = list.Lowdistractor.currentvalue;]
/ ontrialend = [trial.lowX1.resetstimulusframes(); ]
/ stimulustimes = [1=fixation; 500=sequence (fixationcover, XLD1, Ll2filler, Ll3filler, Ll4filler, Ll5filler, Ll6filler); 600=eraseblank]
/ validresponse = ("0", "2")
/ correctresponse = ("0")
/ response = timeout(2000)
/ beginresponsetime = 500
</trial>

Hi, this worked perfectly when I changed it but I think I may need help once more on this script! The script had before had 3 different stimulus categories which were selected from a list. See below

<list Lowdistractor>
/ items = (picture.nature, picture.food, picture.blank)
/ itemprobabilities = (.10, .10, .80)
/ poolsize = 60
</list>

I've had to change the script so that I can have different sizes for each image.

I.e. Separate picture element for each stimulus image so I can change the size easily instead of having images from the same category in the same picture element like before. 

<picture nature5>
/ items = ("nature5.png")
/ select = noreplace
/ size = (1px * values.greenwidth * expressions.ratio_pxpermm, 1 px * values.greenheight * expressions.ratio_pxpermm)
</picture>

Which means the list now looks like this

<list Lowdistractor>
/ items = (picture.nature1, picture.nature2, picture.nature3, picture.nature4, picture.nature5, picture.nature6, picture.food1, picture.food2, picture.food3, picture.food4, picture.food5, picture.food6, shape.blank)
/ itemprobabilities = (.0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667,.80)
/ poolsize = 60
</list>

This still works fine but I don't want to record each image individually. So I want to record the trials where nature1, 2, 3, 4, 5 and 6 are presented as a combined group I.e. Just an overall Nature category. The same for food. Is there a way of combining these for the data recording?

I thought it might work to have a second superordinate list but i can't get that to work either. I've copied what I tried below...

<list nature>
/ items = (picture.nature1, picture.nature2, picture.nature3, picture.nature4, picture.nature5, picture.nature6)
/ itemprobabilities = (.166666666667, .166666666667, .166666666667, .166666666667, .166666666667, .166666666667)
/ poolsize = 6
</list>

<list food>
/ items = (picture.food1, picture.food2, picture.food3, picture.food4, picture.food5, picture.food6)
/ itemprobabilities = (.166666666667, .166666666667, .166666666667, .166666666667, .166666666667, .166666666667)
/ poolsize = 6
</list>

<list Lowdistractor>
/ items = (list.food, list.nature, shape.blank)
/ itemprobabilities = (.10, .10, .80)
/ poolsize = 60
</list>

Any ideas would be greatly appreciated! 
Thanks,
Jenny




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: 105K
jm560@sussex.ac.uk - Tuesday, August 8, 2017
Dave - Tuesday, June 13, 2017
jm560@sussex.ac.uk - Tuesday, June 13, 2017
Hi,

My task presents one of three distractors on every trial retrieved from a list. This works well but I am struggling to record which stimulus has been presented on each trial. Currently the task records reaction time for each trial but I need to be able to match that with the distractor type. Any help would be appreciated! Even direction to other resources, I'm not sure how well i understand data recording and 'values' beyond what i've learnt from the online descriptions & simple demos. Relevant code posted below...

<picture food>
/ items = ("food1.png", "food2.png", "food3.png", "food4.png", "food5.png", "food6.png")
/ select = noreplace
/ position = (50%, 50%)
/ size = (1px * values.imagewidth * expressions.ratio_pxpermm, 1 px * values.imageheight * expressions.ratio_pxpermm)
</picture>

<picture nature>
/ items = ("nature1.png", "nature2.png", "nature3.png", "nature4.png", "nature5.png", "nature6.png")
/ select = noreplace
/ size = (1px * values.imagewidth * expressions.ratio_pxpermm, 1 px * values.imageheight * expressions.ratio_pxpermm)
</picture>

<picture blank>
/ items = ("blank.bmp")
/ select =replace
/ position = (50%, 50%)
</picture>

<list Lowdistractor>
/ items = (picture.nature, picture.food, picture.blank)
/ itemprobabilities = (.10, .10, .80)
/ poolsize = 60
</list>

<values>
/distractor = list.Lowdistractor
</values>

<trial lowX1>
/ ontrialbegin = [trial.lowX1.insertstimulustime(list.Lowdistractor.nextvalue,500);]
/ ontrialend = [trial.lowX1.resetstimulusframes(); ]
/ stimulustimes = [1=fixation; 500=sequence (fixationcover, XLD1, Ll2filler, Ll3filler, Ll4filler, Ll5filler, Ll6filler); 600=eraseblank]
/ validresponse = ("0", "2")
/ correctresponse = ("0")
/ response = timeout(2000)
/ beginresponsetime = 500
</trial>

<data>
/ columns = (date, time, group, subject, trialcode, blockcode, correct, stimulusitem, values.distractor)
</data>

Whole script is attached if needed, but obviously will not work without all the stimuli etc.

Thanks!
Jenny

<values>
/distractor = list.Lowdistractor
</values>

^this does not make sense and will not work. list.lowdistractor returns nothing. Moreover, you're not updating the value anywhere, whereas you'll want to do that on a trial-by-trial basis. In other words, you'll want to do something like this if you want to capture which distractor <picture> element was selected on a given trial:

<trial lowX1>
/ ontrialbegin = [trial.lowX1.insertstimulustime(list.Lowdistractor.nextvalue,500);]
/ ontrialbegin = [values.distractor = list.Lowdistractor.currentvalue;]
/ ontrialend = [trial.lowX1.resetstimulusframes(); ]
/ stimulustimes = [1=fixation; 500=sequence (fixationcover, XLD1, Ll2filler, Ll3filler, Ll4filler, Ll5filler, Ll6filler); 600=eraseblank]
/ validresponse = ("0", "2")
/ correctresponse = ("0")
/ response = timeout(2000)
/ beginresponsetime = 500
</trial>

Hi, this worked perfectly when I changed it but I think I may need help once more on this script! The script had before had 3 different stimulus categories which were selected from a list. See below

<list Lowdistractor>
/ items = (picture.nature, picture.food, picture.blank)
/ itemprobabilities = (.10, .10, .80)
/ poolsize = 60
</list>

I've had to change the script so that I can have different sizes for each image.

I.e. Separate picture element for each stimulus image so I can change the size easily instead of having images from the same category in the same picture element like before. 

<picture nature5>
/ items = ("nature5.png")
/ select = noreplace
/ size = (1px * values.greenwidth * expressions.ratio_pxpermm, 1 px * values.greenheight * expressions.ratio_pxpermm)
</picture>

Which means the list now looks like this

<list Lowdistractor>
/ items = (picture.nature1, picture.nature2, picture.nature3, picture.nature4, picture.nature5, picture.nature6, picture.food1, picture.food2, picture.food3, picture.food4, picture.food5, picture.food6, shape.blank)
/ itemprobabilities = (.0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667,.80)
/ poolsize = 60
</list>

This still works fine but I don't want to record each image individually. So I want to record the trials where nature1, 2, 3, 4, 5 and 6 are presented as a combined group I.e. Just an overall Nature category. The same for food. Is there a way of combining these for the data recording?

I thought it might work to have a second superordinate list but i can't get that to work either. I've copied what I tried below...

<list nature>
/ items = (picture.nature1, picture.nature2, picture.nature3, picture.nature4, picture.nature5, picture.nature6)
/ itemprobabilities = (.166666666667, .166666666667, .166666666667, .166666666667, .166666666667, .166666666667)
/ poolsize = 6
</list>

<list food>
/ items = (picture.food1, picture.food2, picture.food3, picture.food4, picture.food5, picture.food6)
/ itemprobabilities = (.166666666667, .166666666667, .166666666667, .166666666667, .166666666667, .166666666667)
/ poolsize = 6
</list>

<list Lowdistractor>
/ items = (list.food, list.nature, shape.blank)
/ itemprobabilities = (.10, .10, .80)
/ poolsize = 60
</list>

Any ideas would be greatly appreciated! 
Thanks,
Jenny




It seems to me that you should be able to determine the category from the list item selected, store that in a value and then log that value to the data file. In essence:

<list lowdistractor>
/ items = (text.nature1, text.nature2, text.food1, text.food2)
/ itemprobabilities = (0.1, 0.1, 0.4, 0.4)
/ poolsize = 10
</list>

<trial mytrial>
/ ontrialbegin = [
    trial.mytrial.insertstimulusframe(list.lowdistractor.nextvalue, 1)
]
/ ontrialbegin = [
    if (contains(list.lowdistractor.currentvalue, "nature")) values.category = "nature";
    else if (contains(list.lowdistractor.currentvalue, "food")) values.category = "food";
    else values.category = "blank";
]

/ validresponse = (57)
</trial>

<block myblock>
/ trials = [1-10 = mytrial]
</block>

<text nature1>
/ items = ("n1")
/ size = (10%,10%)
</text>

<text nature2>
/ items = ("n2")
/ size = (10%,10%)
</text>

<text food1>
/ items = ("f1")
/ size = (10%,10%)
</text>

<text food2>
/ items = ("f2")
/ size = (10%,10%)
</text>

<values>
/ category = ""
</values>


<data>
/ columns = [
    subject trialnum trialcode list.lowdistractor.currentvalue values.category
]
/ separatefiles = true
</data>


jm560@sussex.ac.uk
jm560@sussex.ac.uk
Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)Distinguished Member (2.8K reputation)
Group: Forum Members
Posts: 25, Visits: 208
Dave - Tuesday, August 8, 2017
jm560@sussex.ac.uk - Tuesday, August 8, 2017
Dave - Tuesday, June 13, 2017
jm560@sussex.ac.uk - Tuesday, June 13, 2017
Hi,

My task presents one of three distractors on every trial retrieved from a list. This works well but I am struggling to record which stimulus has been presented on each trial. Currently the task records reaction time for each trial but I need to be able to match that with the distractor type. Any help would be appreciated! Even direction to other resources, I'm not sure how well i understand data recording and 'values' beyond what i've learnt from the online descriptions & simple demos. Relevant code posted below...

<picture food>
/ items = ("food1.png", "food2.png", "food3.png", "food4.png", "food5.png", "food6.png")
/ select = noreplace
/ position = (50%, 50%)
/ size = (1px * values.imagewidth * expressions.ratio_pxpermm, 1 px * values.imageheight * expressions.ratio_pxpermm)
</picture>

<picture nature>
/ items = ("nature1.png", "nature2.png", "nature3.png", "nature4.png", "nature5.png", "nature6.png")
/ select = noreplace
/ size = (1px * values.imagewidth * expressions.ratio_pxpermm, 1 px * values.imageheight * expressions.ratio_pxpermm)
</picture>

<picture blank>
/ items = ("blank.bmp")
/ select =replace
/ position = (50%, 50%)
</picture>

<list Lowdistractor>
/ items = (picture.nature, picture.food, picture.blank)
/ itemprobabilities = (.10, .10, .80)
/ poolsize = 60
</list>

<values>
/distractor = list.Lowdistractor
</values>

<trial lowX1>
/ ontrialbegin = [trial.lowX1.insertstimulustime(list.Lowdistractor.nextvalue,500);]
/ ontrialend = [trial.lowX1.resetstimulusframes(); ]
/ stimulustimes = [1=fixation; 500=sequence (fixationcover, XLD1, Ll2filler, Ll3filler, Ll4filler, Ll5filler, Ll6filler); 600=eraseblank]
/ validresponse = ("0", "2")
/ correctresponse = ("0")
/ response = timeout(2000)
/ beginresponsetime = 500
</trial>

<data>
/ columns = (date, time, group, subject, trialcode, blockcode, correct, stimulusitem, values.distractor)
</data>

Whole script is attached if needed, but obviously will not work without all the stimuli etc.

Thanks!
Jenny

<values>
/distractor = list.Lowdistractor
</values>

^this does not make sense and will not work. list.lowdistractor returns nothing. Moreover, you're not updating the value anywhere, whereas you'll want to do that on a trial-by-trial basis. In other words, you'll want to do something like this if you want to capture which distractor <picture> element was selected on a given trial:

<trial lowX1>
/ ontrialbegin = [trial.lowX1.insertstimulustime(list.Lowdistractor.nextvalue,500);]
/ ontrialbegin = [values.distractor = list.Lowdistractor.currentvalue;]
/ ontrialend = [trial.lowX1.resetstimulusframes(); ]
/ stimulustimes = [1=fixation; 500=sequence (fixationcover, XLD1, Ll2filler, Ll3filler, Ll4filler, Ll5filler, Ll6filler); 600=eraseblank]
/ validresponse = ("0", "2")
/ correctresponse = ("0")
/ response = timeout(2000)
/ beginresponsetime = 500
</trial>

Hi, this worked perfectly when I changed it but I think I may need help once more on this script! The script had before had 3 different stimulus categories which were selected from a list. See below

<list Lowdistractor>
/ items = (picture.nature, picture.food, picture.blank)
/ itemprobabilities = (.10, .10, .80)
/ poolsize = 60
</list>

I've had to change the script so that I can have different sizes for each image.

I.e. Separate picture element for each stimulus image so I can change the size easily instead of having images from the same category in the same picture element like before. 

<picture nature5>
/ items = ("nature5.png")
/ select = noreplace
/ size = (1px * values.greenwidth * expressions.ratio_pxpermm, 1 px * values.greenheight * expressions.ratio_pxpermm)
</picture>

Which means the list now looks like this

<list Lowdistractor>
/ items = (picture.nature1, picture.nature2, picture.nature3, picture.nature4, picture.nature5, picture.nature6, picture.food1, picture.food2, picture.food3, picture.food4, picture.food5, picture.food6, shape.blank)
/ itemprobabilities = (.0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667, .0166666666667,.80)
/ poolsize = 60
</list>

This still works fine but I don't want to record each image individually. So I want to record the trials where nature1, 2, 3, 4, 5 and 6 are presented as a combined group I.e. Just an overall Nature category. The same for food. Is there a way of combining these for the data recording?

I thought it might work to have a second superordinate list but i can't get that to work either. I've copied what I tried below...

<list nature>
/ items = (picture.nature1, picture.nature2, picture.nature3, picture.nature4, picture.nature5, picture.nature6)
/ itemprobabilities = (.166666666667, .166666666667, .166666666667, .166666666667, .166666666667, .166666666667)
/ poolsize = 6
</list>

<list food>
/ items = (picture.food1, picture.food2, picture.food3, picture.food4, picture.food5, picture.food6)
/ itemprobabilities = (.166666666667, .166666666667, .166666666667, .166666666667, .166666666667, .166666666667)
/ poolsize = 6
</list>

<list Lowdistractor>
/ items = (list.food, list.nature, shape.blank)
/ itemprobabilities = (.10, .10, .80)
/ poolsize = 60
</list>

Any ideas would be greatly appreciated! 
Thanks,
Jenny




It seems to me that you should be able to determine the category from the list item selected, store that in a value and then log that value to the data file. In essence:

<list lowdistractor>
/ items = (text.nature1, text.nature2, text.food1, text.food2)
/ itemprobabilities = (0.1, 0.1, 0.4, 0.4)
/ poolsize = 10
</list>

<trial mytrial>
/ ontrialbegin = [
    trial.mytrial.insertstimulusframe(list.lowdistractor.nextvalue, 1)
]
/ ontrialbegin = [
    if (contains(list.lowdistractor.currentvalue, "nature")) values.category = "nature";
    else if (contains(list.lowdistractor.currentvalue, "food")) values.category = "food";
    else values.category = "blank";
]

/ validresponse = (57)
</trial>

<block myblock>
/ trials = [1-10 = mytrial]
</block>

<text nature1>
/ items = ("n1")
/ size = (10%,10%)
</text>

<text nature2>
/ items = ("n2")
/ size = (10%,10%)
</text>

<text food1>
/ items = ("f1")
/ size = (10%,10%)
</text>

<text food2>
/ items = ("f2")
/ size = (10%,10%)
</text>

<values>
/ category = ""
</values>


<data>
/ columns = [
    subject trialnum trialcode list.lowdistractor.currentvalue values.category
]
/ separatefiles = true
</data>


Thank you so much!
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search