Millisecond Forums

Defining and selecting from a list of text items

https://forums.millisecond.com/Topic36571.aspx

By vicki.rivera - 10/15/2024

Hello! 

I am trying to set up my experiment so that participants see one positive object and one negative object from a list of objects throughout their entire session. I have a few different spots in the script where Inquisit is selecting from this list to display to the participant, but I want to make sure that it is selecting the same positive and negative object each time for that specific person. Essentially, I want it to randomly select one positive object from the list that the participant will see anytime positive object is displayed later in the script (for  memory_words_objects, posobj_posUP, and posobj_negUP). Here's a snippet of what I have so far: 

<text POSOBJ>
/ numitems = 4
/ items = posobj_text
/ select = constant
/ position = (50%, 50%)
</text>

<item posobj_text>
/ 1 = "VACATION"
/ 2 = "SUNSHINE"
/ 3 = "LAUGHTER"
/ 4 = "HUG"
</item>

<text NEGOBJ>
/ numitems = 4
/ items = negobj_text
/ select = constant
/ position = (50%, 50%)
</text>

<item negobj_text>
/ 1 = "DISEASE"
/ 2 = "NAUSEA"
/ 3 = "DISASTER"
/ 4 = "PARASITE"
</item>

<trial memory_words_objects>
/ stimulustimes = [0 = POSOBJ; 1500 = blanks; 1700 = NEGOBJ; 3200 = blanks; 3400 = poswrd_baseline_objects; 4900 = blanks; 5100 = negwrd_baseline_objects]
/ response = timeout(6600)
/ correctresponse = (noresponse)
</trial>

<trial posobj_posUP>
/ validresponse = ("A", "L")
/ correctresponse = ("L")
/ stimulustimes = [0 = noreplace (POSOBJ); 200 = blanks; 300 = replace (goodtarget)]
/ responsetrial = ("A", audio)
/ responsetrial = ("L", audio)
</trial>

<trial posobj_negUP>
/ validresponse = ("A", "L")
/ correctresponse = ("A")
/ stimulustimes = [0 = noreplace (POSOBJ); 200 = blanks; 300 = replace (badtarget)]
/ responsetrial = ("A", audio)
/ responsetrial = ("L", audio)
</trial>
By Dave - 10/15/2024

vicki.rivera - 10/15/2024
Hello! 

I am trying to set up my experiment so that participants see one positive object and one negative object from a list of objects throughout their entire session. I have a few different spots in the script where Inquisit is selecting from this list to display to the participant, but I want to make sure that it is selecting the same positive and negative object each time for that specific person. Essentially, I want it to randomly select one positive object from the list that the participant will see anytime positive object is displayed later in the script (for  memory_words_objects, posobj_posUP, and posobj_negUP). Here's a snippet of what I have so far: 

<text POSOBJ>
/ numitems = 4
/ items = posobj_text
/ select = constant
/ position = (50%, 50%)
</text>

<item posobj_text>
/ 1 = "VACATION"
/ 2 = "SUNSHINE"
/ 3 = "LAUGHTER"
/ 4 = "HUG"
</item>

<text NEGOBJ>
/ numitems = 4
/ items = negobj_text
/ select = constant
/ position = (50%, 50%)
</text>

<item negobj_text>
/ 1 = "DISEASE"
/ 2 = "NAUSEA"
/ 3 = "DISASTER"
/ 4 = "PARASITE"
</item>

<trial memory_words_objects>
/ stimulustimes = [0 = POSOBJ; 1500 = blanks; 1700 = NEGOBJ; 3200 = blanks; 3400 = poswrd_baseline_objects; 4900 = blanks; 5100 = negwrd_baseline_objects]
/ response = timeout(6600)
/ correctresponse = (noresponse)
</trial>

<trial posobj_posUP>
/ validresponse = ("A", "L")
/ correctresponse = ("L")
/ stimulustimes = [0 = noreplace (POSOBJ); 200 = blanks; 300 = replace (goodtarget)]
/ responsetrial = ("A", audio)
/ responsetrial = ("L", audio)
</trial>

<trial posobj_negUP>
/ validresponse = ("A", "L")
/ correctresponse = ("A")
/ stimulustimes = [0 = noreplace (POSOBJ); 200 = blanks; 300 = replace (badtarget)]
/ responsetrial = ("A", audio)
/ responsetrial = ("L", audio)
</trial>

Set /select in the <text> elements to noreplace and set /selectionrate to experiment.

https://www.millisecond.com/support/docs/v6/html/language/attributes/selectionrate.htm

<text POSOBJ>
/ items = posobj_text
/ select = noreplace
/ selectionrate = experiment
/ position = (50%, 50%)
</text>

<item posobj_text>
/ 1 = "VACATION"
/ 2 = "SUNSHINE"
/ 3 = "LAUGHTER"
/ 4 = "HUG"
</item>

<text NEGOBJ>
/ items = negobj_text
/ select = noreplace
/ selectionrate = experiment
/ position = (50%, 50%)
</text>

<item negobj_text>
/ 1 = "DISEASE"
/ 2 = "NAUSEA"
/ 3 = "DISASTER"
/ 4 = "PARASITE"
</item>

<trial pos>
/ stimulusframes = [1=text.POSOBJ]
/ validresponse = (57)
</trial>

<trial neg>
/ stimulusframes = [1=text.NEGOBJ]
/ validresponse = (57)
</trial>

<block myBlock>
/ trials = [1-10 = noreplace(trial.pos, trial.neg)]
</block>

By vicki.rivera - 10/15/2024

Thank you so much!!
Dave - 10/15/2024
vicki.rivera - 10/15/2024
Hello! 

I am trying to set up my experiment so that participants see one positive object and one negative object from a list of objects throughout their entire session. I have a few different spots in the script where Inquisit is selecting from this list to display to the participant, but I want to make sure that it is selecting the same positive and negative object each time for that specific person. Essentially, I want it to randomly select one positive object from the list that the participant will see anytime positive object is displayed later in the script (for  memory_words_objects, posobj_posUP, and posobj_negUP). Here's a snippet of what I have so far: 

<text POSOBJ>
/ numitems = 4
/ items = posobj_text
/ select = constant
/ position = (50%, 50%)
</text>

<item posobj_text>
/ 1 = "VACATION"
/ 2 = "SUNSHINE"
/ 3 = "LAUGHTER"
/ 4 = "HUG"
</item>

<text NEGOBJ>
/ numitems = 4
/ items = negobj_text
/ select = constant
/ position = (50%, 50%)
</text>

<item negobj_text>
/ 1 = "DISEASE"
/ 2 = "NAUSEA"
/ 3 = "DISASTER"
/ 4 = "PARASITE"
</item>

<trial memory_words_objects>
/ stimulustimes = [0 = POSOBJ; 1500 = blanks; 1700 = NEGOBJ; 3200 = blanks; 3400 = poswrd_baseline_objects; 4900 = blanks; 5100 = negwrd_baseline_objects]
/ response = timeout(6600)
/ correctresponse = (noresponse)
</trial>

<trial posobj_posUP>
/ validresponse = ("A", "L")
/ correctresponse = ("L")
/ stimulustimes = [0 = noreplace (POSOBJ); 200 = blanks; 300 = replace (goodtarget)]
/ responsetrial = ("A", audio)
/ responsetrial = ("L", audio)
</trial>

<trial posobj_negUP>
/ validresponse = ("A", "L")
/ correctresponse = ("A")
/ stimulustimes = [0 = noreplace (POSOBJ); 200 = blanks; 300 = replace (badtarget)]
/ responsetrial = ("A", audio)
/ responsetrial = ("L", audio)
</trial>

Set /select in the <text> elements to noreplace and set /selectionrate to experiment.

https://www.millisecond.com/support/docs/v6/html/language/attributes/selectionrate.htm

<text POSOBJ>
/ items = posobj_text
/ select = noreplace
/ selectionrate = experiment
/ position = (50%, 50%)
</text>

<item posobj_text>
/ 1 = "VACATION"
/ 2 = "SUNSHINE"
/ 3 = "LAUGHTER"
/ 4 = "HUG"
</item>

<text NEGOBJ>
/ items = negobj_text
/ select = noreplace
/ selectionrate = experiment
/ position = (50%, 50%)
</text>

<item negobj_text>
/ 1 = "DISEASE"
/ 2 = "NAUSEA"
/ 3 = "DISASTER"
/ 4 = "PARASITE"
</item>

<trial pos>
/ stimulusframes = [1=text.POSOBJ]
/ validresponse = (57)
</trial>

<trial neg>
/ stimulusframes = [1=text.NEGOBJ]
/ validresponse = (57)
</trial>

<block myBlock>
/ trials = [1-10 = noreplace(trial.pos, trial.neg)]
</block>