error in trial code label


Author
Message
wslester
wslester
Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)
Group: Forum Members
Posts: 3, Visits: 1

Hi,


I'm having a problem with the data output for a delayed response memory task. During the task, participants are presented with a list of positive and negative words in white. Then one word (positive or negative) is presented in yellow. The yellow may or may not have been in the previous list of white words. Participants are to select "yes" if the yellow was in the previous list and "no" if it wasn't. The task is working well except that some of the trial codes are being mislabeled. You can see in the data file (attached) that every few trials the program will call a trial an "in" trial, meaning the probe word (yellow word) was in the previous list (of white words), when in fact it was not. Because of that error, correct answers are being coded as incorrect. This only happens occasionally and sometimes the "in" trials really are correct (i.e., the yellow word was in the list of white words). Below I have pasted the code and the data file is attached. Any help would be greatly appreciated!



<values>


/ learninginterval = 1500


/ probepause = 1000


/ mindigits = 2


/ maxdigits = 6


/ setsize = ""


/ words = ""


/ first = ""


/ second = ""


/ third = ""


/ fourth = ""


/ fifth = ""


/ sixth = ""


/ seventh = ""


/ target = ""


</values>



<data>


/ columns = [date time subject trialcode latency response correct values.setsize values.first values.second values.third values.fourth values.fifth values.sixth values.seventh values.target]


</data>



<counter setsize>


/ items = (2, 3, 4, 5, 6, 2, 3, 4, 5, 6, 2, 3, 4, 5, 6, 2, 3, 4, 5, 6, 2, 3, 4, 5, 6)


/ select = noreplace


</counter>



<text digit1ordigit2>


/ items = ("")


</text>



<counter select1or2>


/ items = (1, 2, 1, 2, 1, 2, 1, 2)


/ select = noreplace


</counter>


<defaults>


/ screencolor = black


/ txcolor = white


/ txbgcolor = black


/ fontstyle = ("Arial", 3%)


/ minimumversion = "3.0.3.0"


</defaults>



<item digits1>


/ 1 = "Failure"


/ 2 = "Hatred"


/ 3 = "Grief"


/ 4 = "Betray"


/ 5 = "Unhappy"


/ 6 = "Cruel"


/ 7 = "Death"


/ 8 = "Sad"


/ 9 = "Rejected"


/ 10 = "Sick"


/ 11 = "Nightmare"


/ 12 = "Bored"


/ 13 = "Abuse"


/ 14 = "Insult"


/ 15 = "Loneliness"


/ 16 = "Loser"


/ 17 = "Pain"


/ 18 = "Disaster"


/ 19 = "Hurt"


/ 20 = "Toothache"


/ 21 = "Funeral"


/ 22 = "Germs"


/ 23 = "Bees"


/ 24 = "Poison"


/ 25 = "Vomit"


</item>



<item digits2>


/ 1 = "Success"


/ 2 = "Loved"


/ 3 = "Joy"


/ 4 = "Protected"


/ 5 = "Happy"


/ 6 = "Kindness"


/ 7 = "Life"


/ 8 = "Cheer"


/ 9 = "Acceptance"


/ 10 = "Health"


/ 11 = "Dream"


/ 12 = "Fun"


/ 13 = "Hug"


/ 14 = "Joke"


/ 15 = "Friend"


/ 16 = "Champion"


/ 17 = "Pleasure"


/ 18 = "Paradise"


/ 19 = "Kiss"


/ 20 = "Beach"


/ 21 = "Money"


/ 22 = "Rollercoaster"


/ 23 = "Terrific"


/ 24 = "Vacation"


/ 25 = "Laughter"


</item>



<counter digit1>


/ items = (


"Failure",


"Hatred",


"Grief",


"Betray",


"Unhappy",


"Cruel",


"Death",


"Sad",


"Rejected",


"Sick",


"Nightmare",


"Bored",


"Abuse",


"Insult",


"Loneliness",


"Loser",


"Pain",


"Disaster",


"Hurt",


"Toothache",


"Funeral",


"Germs",


"Bees",


"Poison",


"Vomit")


/ select = noreplace


</counter>



<counter digit2>


/ items = (


"Success",


"Loved",


"Joy",


"Protected",


"Happy",


"Kindness",


"Life",


"Cheer",


"Acceptance",


"Health",


"Dream",


"Fun",


"Hug",


"Joke",


"Friend",


"Champion",


"Pleasure",


"Paradise",


"Kiss",


"Beach",


"Money",


"Rollercoaster",


"Terrific",


"Vacation",


"Laughter")


/ select = noreplace


</counter>



<text blank>


/ items = ("00")


/ txcolor = black


/ txbgcolor = black


/ fontstyle = ("Arial", 10%)


</text>



<text in>


/ items = in


/ txcolor = yellow


/ fontstyle = ("Arial", 10%)


/ erase = true (0,0,0)


/ select = noreplace


</text>



<text out>


/ items = digits1


/ txcolor = yellow


/ fontstyle = ("Arial", 10%)


/ erase = true (0,0,0)


/ select = noreplace


</text>



<text out2>


/ items = digits2


/ txcolor = yellow


/ fontstyle = ("Arial", 10%)


/ erase = true (0,0,0)


/ select = noreplace


</text>



<text errorsignal>


/ items = ("X")


/ fontstyle = ("Arial", 10%)


/ txcolor = red


/ position = (50%, 80%)


</text>



<text correctsignal>


/ items = ("O")


/ fontstyle = ("Arial", 10%)


/ txcolor = green


/ position = (50%, 80%)


</text>



<text inreminder>


/ items = ("YES")


/ position = (20%, 90%)


</text>



<text outreminder>


/ items = ("NO")


/ position = (80%, 90%)


</text>



<trial first>


/ ontrialbegin = [ if (counter.select1or2.selectedvalue == 1) text.digit1ordigit2.item.1 = counter.digit1.selectedvalue]


/ ontrialbegin = [ if (counter.select1or2.selectedvalue == 2) text.digit1ordigit2.item.1 = counter.digit2.selectedvalue]


/ ontrialbegin = [values.setsize = counter.setsize.selectedvalue]


/ ontrialbegin = [values.words = ""]


/ stimulusframes = [1 = digit1ordigit2]


/ trialduration = values.learninginterval


/ validresponse = (noresponse)


/ ontrialend = [values.first = text.digit1ordigit2.currentitem; item.in.item=text.digit1ordigit2.currentitem]


/ ontrialend = [values.words = concat(concat(values.words, text.digit1ordigit2.currentitem), " ")]


/ branch = [trial.second]


/ recorddata = false


</trial>



<trial second>


/ ontrialbegin = [ if (counter.select1or2.selectedvalue == 1) text.digit1ordigit2.item.1 = counter.digit1.selectedvalue]


/ ontrialbegin = [ if (counter.select1or2.selectedvalue == 2) text.digit1ordigit2.item.1 = counter.digit2.selectedvalue]


/ ontrialbegin = [values.setsize = counter.setsize.selectedvalue]


/ ontrialbegin = [values.words = ""]


/ stimulusframes = [1 = digit1ordigit2]


/ trialduration = values.learninginterval


/ validresponse = (noresponse)


/ ontrialend = [values.second = text.digit1ordigit2.currentitem; item.in.item=text.digit1ordigit2.currentitem]


/ ontrialend = [values.words = concat(concat(values.words, text.digit1ordigit2.currentitem), " ")]


/ branch = [trial.third]


/ recorddata = false


</trial>



<trial third>


/ skip = [values.setsize < 3]


/ ontrialbegin = [ if (counter.select1or2.selectedvalue == 1) text.digit1ordigit2.item.1 = counter.digit1.selectedvalue]


/ ontrialbegin = [ if (counter.select1or2.selectedvalue == 2) text.digit1ordigit2.item.1 = counter.digit2.selectedvalue]


/ ontrialbegin = [values.setsize = counter.setsize.selectedvalue]


/ ontrialbegin = [values.words = ""]


/ stimulusframes = [1 = digit1ordigit2]


/ trialduration = values.learninginterval


/ validresponse = (noresponse)


/ ontrialend = [values.third = text.digit1ordigit2.currentitem; item.in.item=text.digit1ordigit2.currentitem]


/ ontrialend = [values.words = concat(concat(values.words, text.digit1ordigit2.currentitem), " ")]


/ branch = [trial.fourth]


/ recorddata = false


</trial>



<trial fourth>


/ skip = [values.setsize < 4]


/ ontrialbegin = [ if (counter.select1or2.selectedvalue == 1) text.digit1ordigit2.item.1 = counter.digit1.selectedvalue]


/ ontrialbegin = [ if (counter.select1or2.selectedvalue == 2) text.digit1ordigit2.item.1 = counter.digit2.selectedvalue]


/ ontrialbegin = [values.setsize = counter.setsize.selectedvalue]


/ ontrialbegin = [values.words = ""]


/ stimulusframes = [1 = digit1ordigit2]


/ trialduration = values.learninginterval


/ validresponse = (noresponse)


/ ontrialend = [values.fourth = text.digit1ordigit2.currentitem; item.in.item=text.digit1ordigit2.currentitem]


/ ontrialend = [values.words = concat(concat(values.words, text.digit1ordigit2.currentitem), " ")]


/ branch = [trial.fifth]


/ recorddata = false


</trial>



<trial fifth>


/ skip = [values.setsize < 5]


/ ontrialbegin = [ if (counter.select1or2.selectedvalue == 1) text.digit1ordigit2.item.1 = counter.digit1.selectedvalue]


/ ontrialbegin = [ if (counter.select1or2.selectedvalue == 2) text.digit1ordigit2.item.1 = counter.digit2.selectedvalue]


/ ontrialbegin = [values.setsize = counter.setsize.selectedvalue]


/ ontrialbegin = [values.words = ""]


/ stimulusframes = [1 = digit1ordigit2]


/ trialduration = values.learninginterval


/ validresponse = (noresponse)


/ ontrialend = [values.fifth = text.digit1ordigit2.currentitem; item.in.item=text.digit1ordigit2.currentitem]


/ ontrialend = [values.words = concat(concat(values.words, text.digit1ordigit2.currentitem), " ")]


/ branch = [trial.sixth]


/ recorddata = false


</trial>



<trial sixth>


/ skip = [values.setsize < 6]


/ ontrialbegin = [ if (counter.select1or2.selectedvalue == 1) text.digit1ordigit2.item.1 = counter.digit1.selectedvalue]


/ ontrialbegin = [ if (counter.select1or2.selectedvalue == 2) text.digit1ordigit2.item.1 = counter.digit2.selectedvalue]


/ ontrialbegin = [values.setsize = counter.setsize.selectedvalue]


/ ontrialbegin = [values.words = ""]


/ stimulusframes = [1 = digit1ordigit2]


/ trialduration = values.learninginterval


/ validresponse = (noresponse)


/ ontrialend = [values.sixth = text.digit1ordigit2.currentitem; item.in.item=text.digit1ordigit2.currentitem]


/ ontrialend = [values.words = concat(concat(values.words, text.digit1ordigit2.currentitem), " ")]


/ branch = [trial.seventh]


/ recorddata = false


</trial>



<trial seventh>


/ skip = [values.setsize < 7]


/ ontrialbegin = [ if (counter.select1or2.selectedvalue == 1) text.digit1ordigit2.item.1 = counter.digit1.selectedvalue]


/ ontrialbegin = [ if (counter.select1or2.selectedvalue == 2) text.digit1ordigit2.item.1 = counter.digit2.selectedvalue]


/ ontrialbegin = [values.setsize = counter.setsize.selectedvalue]


/ ontrialbegin = [values.words = ""]


/ stimulusframes = [1 = digit1ordigit2]


/ trialduration = values.learninginterval


/ validresponse = (noresponse)


/ ontrialend = [values.seventh = text.digit1ordigit2.currentitem; item.in.item=text.digit1ordigit2.currentitem]


/ ontrialend = [values.words = concat(concat(values.words, text.digit1ordigit2.currentitem), " ")]


/ recorddata = false


</trial>



<trial in>


/ inputdevice = mouse


/ pretrialpause = values.probepause


/ stimulusframes = [1=in]


/ validresponse = (inreminder, outreminder)


/ correctresponse = (inreminder)


/ posttrialpause = 500


/ ontrialend = [values.target = text.in.currentitem]


/ branch = [trial.reset]


</trial>



<trial out>


/ inputdevice = mouse


/ pretrialpause = values.probepause


/ stimulusframes = [1=out]


/ validresponse = (inreminder, outreminder)


/ correctresponse = (outreminder)


/ posttrialpause = 500


/ ontrialend = [values.target = text.out.currentitem]


/ branch = [trial.reset]


</trial>



<trial out2>


/ inputdevice = mouse


/ pretrialpause = values.probepause


/ stimulusframes = [1=out2]


/ validresponse = (inreminder, outreminder)


/ correctresponse = (outreminder)


/ posttrialpause = 500


/ ontrialend = [values.target = text.out2.currentitem]


/ branch = [trial.reset]


</trial>


 


<trial in_p>


/ inputdevice = mouse


/ pretrialpause = values.probepause


/ stimulusframes = [1=in]


/ validresponse = (inreminder, outreminder)


/ correctresponse = (inreminder)


/ errormessage = (errorsignal, 0)


/ correctmessage = (correctsignal, 1)


/ posttrialpause = 500


/ ontrialend = [values.target = text.in.currentitem]


/ branch = [trial.reset]


</trial>



<trial out_p>


/ inputdevice = mouse


/ pretrialpause = values.probepause


/ stimulusframes = [1=out]


/ validresponse = (inreminder, outreminder)


/ correctresponse = (outreminder)


/ errormessage = (errorsignal, 0)


/ correctmessage = (correctsignal, 1)


/ posttrialpause = 500


/ ontrialend = [values.target = text.out.currentitem]


/ branch = [trial.reset]


</trial>



<trial out2_p>


/ inputdevice = mouse


/ pretrialpause = values.probepause


/ stimulusframes = [1=out2]


/ validresponse = (inreminder, outreminder)


/ correctresponse = (outreminder)


/ errormessage = (errorsignal, 0)


/ correctmessage = (correctsignal, 1)


/ posttrialpause = 500


/ ontrialend = [values.target = text.out2.currentitem]


/ branch = [trial.reset]


</trial>



<trial reset>


/ ontrialbegin = [reset(text.digit1ordigit2)]


/ stimulusframes = [1=blank]


/ response = noresponse


/ recorddata = false


/ posttrialpause = 500


/ ontrialend = [values.first = ""]


/ ontrialend = [values.second = ""]


/ ontrialend = [values.third = ""]


/ ontrialend = [values.fourth = ""]


/ ontrialend = [values.fifth = ""]


/ ontrialend = [values.sixth = ""]


/ ontrialend = [values.seventh = ""]


</trial>



<block memorytest>


/ bgstim = (inreminder, outreminder)


/ trials = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29 = first; 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 = noreplace(in, out, out2)]


</block>



<block memorytest2>


/ bgstim = (inreminder, outreminder)


/ trials = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29 = first; 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 = noreplace(in, out, out2)]


</block>



<block practice>


/ bgstim = (inreminder, outreminder)


/ trials = [1, 3, 5, 7, 9 = first; 2, 4, 6, 8, 10 = noreplace(in_p, out_p, out2_p)]


</block>



<block instruction>


/ trials = [1=instruction]


</block>



<block instruction2>


/ trials = [1=instruction2]


</block>



<block instruction3>


/ trials = [1=instruction3]


</block>



<block instruction4>


/ trials = [1=instruction4]


</block>



<trial instruction>


/ inputdevice = mouse


/ stimulusframes = [1=instructions]


/ validresponse = (lbuttonup)


/ recorddata = false


</trial>



<trial instruction2>


/ inputdevice = mouse


/ stimulusframes = [1=instructions2]


/ validresponse = (lbuttonup)


/ recorddata = false


</trial>



<trial instruction3>


/ inputdevice = mouse


/ stimulusframes = [1=instructions3]


/ validresponse = (lbuttonup)


/ recorddata = false


</trial>



<trial instruction4>


/ inputdevice = mouse


/ stimulusframes = [1=instructions4]


/ validresponse = (lbuttonup)


/ recorddata = false


</trial>



<text instructions>


/ items = ("Word Memory Game


On the following trials, you will be see a series of words presented one at a time printed in white. Immediately following each sequence, you will see a final word printed in yellow. Your task is to decide whether or not the the yellow word appeared in the preceding sequence.


If the yellow word appeared in the sequence, press the 'Yes' button. If the yellow word was NOT in the sequence, press the 'NO' button. We'll practice a few so that you get the hang of it.


During this practice, a green O will appear when you are correct. If you are incorrect, a red X will appear.


Touch the screen when you are ready to begin.")


/ size = (75%, 75%)


/ hjustify = left


</text>



<text instructions2>


/ items = ("You're doing a great job!


Now the practice is over and the real game starts. Try your best to accurately decide if a word was seen in the previous set or not.


The game will no longer tell you if you are correct, so try your best.


Touch the screen when you're ready.")


/ size = (75%, 75%)


/ hjustify = left


</text>



<text instructions3>


/ items = ("Break!


You're doing great.


Touch the screen when you're ready to start again.")


/ size = (75%, 75%)


/ hjustify = left


</text>



<text instructions4>


/ items = ("Finished!


Please let the experimenter know that you have completed this game")


/ size = (75%, 75%)


/ hjustify = left


</text>



<expt sternberg>


/ blocks = [1=instruction; 2=practice; 3=instruction2; 4=memorytest; 5=instruction3; 6=memorytest; 7=instruction4]


</expt>







Attachments
memory_task_1_4_rev3 COPY.dat (797 views, 2.00 KB)
seandr
seandr
Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)
Group: Administrators
Posts: 1.3K, Visits: 5.6K

Hi there,


I'm looking into this, but I can't get your script to compile. Specifically, the script makes reference to an <item in> element in a number of places, but no such element is defined in the script. Is it possible you missed something when copying and pasting?


Perhaps you could just attach the entire script to the thread.


-Sean


wslester
wslester
Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)
Group: Forum Members
Posts: 3, Visits: 1

Thanks for looking into this! Please see attached- perhaps I did miss something with copy/paste.


-Whitney


Attachments
memory_task_1_4_rev3.exp (818 views, 13.00 KB)
wslester
wslester
Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)Partner Member (574 reputation)
Group: Forum Members
Posts: 3, Visits: 1

Hi,


Sorry to bother you, but I was wondering if you might be able to estimate when I would hear back about my post. I'm new to the forum and am just not sure how long this typically takes. Did I attach all of the necessary files?  Thanks so much for your help!


-Whitney


seandr
seandr
Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)
Group: Administrators
Posts: 1.3K, Visits: 5.6K

Hi Whitney,


Sorry for the delay, and thanks for the reminder about this.


For each memory test, the script presents each word and adds it to the "in" stimulus set. An "in" trial will then randomly present an item from the "in" stimulius. After that, the in stimulus set needs to be cleared out for the next test. It doesn't appear your script is clearing it out, so you end up with items from previous tests being counted as "in".


If you add the following command to the <trial reset> element, it will clear the items from the "in" set before running the next trial:
/ ontrialbegin = [clear(text.in)]


You also may want to double check that your out trials are correct. The original Sternberg script that this was adapted from is used a single stimulus set called "out" for both the presentation and recognition phases. Since it selected without replacement, the item selected for the recognition phase (i.e. the target) would not be the same as any of the items in the presentation phase.


Hope this helps,
Sean


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search