Millisecond Forums

recording values depending on the type of trials

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

By deh - 11/8/2020

Hello,

I would like to run a memory test in Inquisit but am struggling with recording if the participant's memory is correct or not.

To describe the task, the first block will be a learning block where participants see a series of faces with different types of behaviors (type A, B, and C). Here, the faces and behaviors will be randomly selected. Then, the following block will be a memory test block, where participants are presented with the faces they have seen in the previous block and are asked to answer which type of behavior each face was yoked with. To record "correct" is complicated because the faces will be randomly yoked with behaviors.
What would be the easiest way to record if the response is correct or not?

Thank you!
By Dave - 11/9/2020

deh - 11/8/2020
Hello,

I would like to run a memory test in Inquisit but am struggling with recording if the participant's memory is correct or not.

To describe the task, the first block will be a learning block where participants see a series of faces with different types of behaviors (type A, B, and C). Here, the faces and behaviors will be randomly selected. Then, the following block will be a memory test block, where participants are presented with the faces they have seen in the previous block and are asked to answer which type of behavior each face was yoked with. To record "correct" is complicated because the faces will be randomly yoked with behaviors.
What would be the easiest way to record if the response is correct or not?

Thank you!

Store the randomly selected face & behavior pairings in linked <list> elements during the 1st block, sample the pairs from those lists during the 2nd block. You can use /iscorrectresponse to check for correctness.
By deh - 11/9/2020

Dave - 11/9/2020
deh - 11/8/2020
Hello,

I would like to run a memory test in Inquisit but am struggling with recording if the participant's memory is correct or not.

To describe the task, the first block will be a learning block where participants see a series of faces with different types of behaviors (type A, B, and C). Here, the faces and behaviors will be randomly selected. Then, the following block will be a memory test block, where participants are presented with the faces they have seen in the previous block and are asked to answer which type of behavior each face was yoked with. To record "correct" is complicated because the faces will be randomly yoked with behaviors.
What would be the easiest way to record if the response is correct or not?

Thank you!

Store the randomly selected face & behavior pairings in linked <list> elements during the 1st block, sample the pairs from those lists during the 2nd block. You can use /iscorrectresponse to check for correctness.

Thank you for the response.
If I am to just store the list of faces that were shown, would the code be something like below that should be added to the trials?

/ ontrialend = [
    list.shownface = list.faces.currentindex
]
</trial>
By Dave - 11/9/2020

deh - 11/9/2020
Dave - 11/9/2020
deh - 11/8/2020
Hello,

I would like to run a memory test in Inquisit but am struggling with recording if the participant's memory is correct or not.

To describe the task, the first block will be a learning block where participants see a series of faces with different types of behaviors (type A, B, and C). Here, the faces and behaviors will be randomly selected. Then, the following block will be a memory test block, where participants are presented with the faces they have seen in the previous block and are asked to answer which type of behavior each face was yoked with. To record "correct" is complicated because the faces will be randomly yoked with behaviors.
What would be the easiest way to record if the response is correct or not?

Thank you!

Store the randomly selected face & behavior pairings in linked <list> elements during the 1st block, sample the pairs from those lists during the 2nd block. You can use /iscorrectresponse to check for correctness.

Thank you for the response.
If I am to just store the list of faces that were shown, would the code be something like below that should be added to the trials?

/ ontrialend = [
    list.shownface = list.faces.currentindex
]
</trial>

You would do something like

/ ontrialend = [
  list.shownface.appenditem(list.faces.currentindex);
]
</trial>

though I cannot tell you whether that's 100% correct. It depends on how exactly your existing code is set up and I don't have that information.


By Dave - 11/9/2020

Dave - 11/9/2020
deh - 11/9/2020
Dave - 11/9/2020
deh - 11/8/2020
Hello,

I would like to run a memory test in Inquisit but am struggling with recording if the participant's memory is correct or not.

To describe the task, the first block will be a learning block where participants see a series of faces with different types of behaviors (type A, B, and C). Here, the faces and behaviors will be randomly selected. Then, the following block will be a memory test block, where participants are presented with the faces they have seen in the previous block and are asked to answer which type of behavior each face was yoked with. To record "correct" is complicated because the faces will be randomly yoked with behaviors.
What would be the easiest way to record if the response is correct or not?

Thank you!

Store the randomly selected face & behavior pairings in linked <list> elements during the 1st block, sample the pairs from those lists during the 2nd block. You can use /iscorrectresponse to check for correctness.

Thank you for the response.
If I am to just store the list of faces that were shown, would the code be something like below that should be added to the trials?

/ ontrialend = [
    list.shownface = list.faces.currentindex
]
</trial>

You would do something like

/ ontrialend = [
  list.shownface.appenditem(list.faces.currentindex);
]
</trial>

though I cannot tell you whether that's 100% correct. It depends on how exactly your existing code is set up and I don't have that information.



Here's a quick example, which may be helpful:

<expt>
/ blocks = [1=show; 2=recall]
</expt>

<block show>
/ trials = [1-3 = showpair]
</block>

<trial showpair>
/ ontrialend = [
    list.faces.appenditem(text.face.currentindex);
    list.activities.appenditem(text.activity.currentindex);
]
/ stimulusframes = [1=face, activity]
/ validresponse = (57)
</trial>

<text face>
/ items = faceitems
/ select = noreplace
</text>

<item faceitems>
/ 1 = "face01"
/ 2 = "face02"
/ 3 = "face03"
</item>

<text activity>
/ items = activityitems
/ select = noreplace
/ position = (50%, 80%)
</text>

<item activityitems>
/ 1 = "Activity A"
/ 2 = "Activity B"
/ 3 = "Activity C"
</item>

<list faces>
</list>

<list activities>
/ selectionmode = list.faces.currentindex
</list>

<block recall>
/ trials = [1-3 = recallpair]
</block>

<item responses>
/ 1 = "A"
/ 2 = "B"
/ 3 = "C"
</item>

<values>
/ activity = 0
/ face = 0
</values>

<trial recallpair>
/ ontrialbegin = [
    values.face = list.faces.nextvalue;
    values.activity = list.activities.nextvalue;
]
/ stimulusframes = [1=facerecall, A, B, C]
/ inputdevice = mouse
/ validresponse = (A, B, C)
/ iscorrectresponse = [
    trial.recallpair.response == item.responses.item(values.activity);
]
/ correctmessage = true(cmsg, 1000)
/ errormessage = true(emsg, 1000)
</trial>

<text facerecall>
/ items = faceitems
/ select = values.face
</text>

<text A>
/ items = activityitems
/ select = 1
/ position = (25%, 80%)
</text>

<text B>
/ items = activityitems
/ select = 2
/ position = (50%, 80%)
</text>

<text C>
/ items = activityitems
/ select = 3
/ position = (75%, 80%)
</text>

<text cmsg>
/ items = ("CORRECT")
/ txcolor = green
/ position = (50%, 90%)
</text>

<text emsg>
/ items = ("ERROR")
/ txcolor = red
/ position = (50%, 90%)
</text>
By deh - 11/9/2020

Dave - 11/9/2020
Dave - 11/9/2020
deh - 11/9/2020
Dave - 11/9/2020
deh - 11/8/2020
Hello,

I would like to run a memory test in Inquisit but am struggling with recording if the participant's memory is correct or not.

To describe the task, the first block will be a learning block where participants see a series of faces with different types of behaviors (type A, B, and C). Here, the faces and behaviors will be randomly selected. Then, the following block will be a memory test block, where participants are presented with the faces they have seen in the previous block and are asked to answer which type of behavior each face was yoked with. To record "correct" is complicated because the faces will be randomly yoked with behaviors.
What would be the easiest way to record if the response is correct or not?

Thank you!

Store the randomly selected face & behavior pairings in linked <list> elements during the 1st block, sample the pairs from those lists during the 2nd block. You can use /iscorrectresponse to check for correctness.

Thank you for the response.
If I am to just store the list of faces that were shown, would the code be something like below that should be added to the trials?

/ ontrialend = [
    list.shownface = list.faces.currentindex
]
</trial>

You would do something like

/ ontrialend = [
  list.shownface.appenditem(list.faces.currentindex);
]
</trial>

though I cannot tell you whether that's 100% correct. It depends on how exactly your existing code is set up and I don't have that information.



Here's a quick example, which may be helpful:

<expt>
/ blocks = [1=show; 2=recall]
</expt>

<block show>
/ trials = [1-3 = showpair]
</block>

<trial showpair>
/ ontrialend = [
    list.faces.appenditem(text.face.currentindex);
    list.activities.appenditem(text.activity.currentindex);
]
/ stimulusframes = [1=face, activity]
/ validresponse = (57)
</trial>

<text face>
/ items = faceitems
/ select = noreplace
</text>

<item faceitems>
/ 1 = "face01"
/ 2 = "face02"
/ 3 = "face03"
</item>

<text activity>
/ items = activityitems
/ select = noreplace
/ position = (50%, 80%)
</text>

<item activityitems>
/ 1 = "Activity A"
/ 2 = "Activity B"
/ 3 = "Activity C"
</item>

<list faces>
</list>

<list activities>
/ selectionmode = list.faces.currentindex
</list>

<block recall>
/ trials = [1-3 = recallpair]
</block>

<item responses>
/ 1 = "A"
/ 2 = "B"
/ 3 = "C"
</item>

<values>
/ activity = 0
/ face = 0
</values>

<trial recallpair>
/ ontrialbegin = [
    values.face = list.faces.nextvalue;
    values.activity = list.activities.nextvalue;
]
/ stimulusframes = [1=facerecall, A, B, C]
/ inputdevice = mouse
/ validresponse = (A, B, C)
/ iscorrectresponse = [
    trial.recallpair.response == item.responses.item(values.activity);
]
/ correctmessage = true(cmsg, 1000)
/ errormessage = true(emsg, 1000)
</trial>

<text facerecall>
/ items = faceitems
/ select = values.face
</text>

<text A>
/ items = activityitems
/ select = 1
/ position = (25%, 80%)
</text>

<text B>
/ items = activityitems
/ select = 2
/ position = (50%, 80%)
</text>

<text C>
/ items = activityitems
/ select = 3
/ position = (75%, 80%)
</text>

<text cmsg>
/ items = ("CORRECT")
/ txcolor = green
/ position = (50%, 90%)
</text>

<text emsg>
/ items = ("ERROR")
/ txcolor = red
/ position = (50%, 90%)
</text>

Thank you. This was really helpful.