Millisecond Forums

iscorrectresponse

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

By AnthonyFCollinsSussex - 3/9/2021

Hey there!

Hope all is well. I just need a tad bit of help for the following situation:

Say that you have 40 comprehension questions, some require a YES response ("E") or a NO response ("I") (one or the other, but not both). I have created lists for the respective comprehension question for each type of response (I won't paste all the comprehension question items here, but this is done in script of course):

<list Eresponse>
/ items = (1,2,4,5,7,11,13,16,18,26,29,34,40)
/ selectionmode = text.comprehension.currentindex
</list>

<list Iresponse>
/ items = (3,6,12,15,21,23,28,30,33,39)
/ selectionmode = text.comprehension.currentindex
</list>

Thus, when it comes to the trial, I am telling Inquisit to register what is 'correct'. For example, if they are presented with (question) item 1 from above, then this requires E (yes) to be pressed, as it belongs to the Eresponse list. If they press I, then this is incorrect. This is what I have so far for the trial code:

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = (trial.comprehension.response == list.Eresponse.nextvalue....

But this means iscorrectresponse is only dealing with the Eresponses?, I am unsure as to code up to ensure that a correct response depends on which type of comprehension question it belongs to - list E (for yes) or list I (for no). This is where I am stuck. I considered using <values> but could not fathom it.

Dave has already allowed me to make huge progress with this experiment I am running (with a full Inquisit license) and relates to my recent post titled 'branching' (about adapting LDT to incorporate scenarios, comprehension questions etc). Well It has all come together thanks to that single piece of advice thus far, so thank you so much. It is just this part I have run into bother with. I reckon I should be okay after this point.

The script is simple, and it works and runs the task, and so thought I'd attach here just in case (I know your amazing expertise allows you to understand what's going on straight away!)

Thank you kindly
Yours Sincerely
Anthony

By Dave - 3/9/2021

AnthonyFCollinsSussex - 3/9/2021
Hey there!

Hope all is well. I just need a tad bit of help for the following situation:

Say that you have 40 comprehension questions, some require a YES response ("E") or a NO response ("I") (one or the other, but not both). I have created lists for the respective comprehension question for each type of response (I won't paste all the comprehension question items here, but this is done in script of course):

<list Eresponse>
/ items = (1,2,4,5,7,11,13,16,18,26,29,34,40)
/ selectionmode = text.comprehension.currentindex
</list>

<list Iresponse>
/ items = (3,6,12,15,21,23,28,30,33,39)
/ selectionmode = text.comprehension.currentindex
</list>

Thus, when it comes to the trial, I am telling Inquisit to register what is 'correct'. For example, if they are presented with (question) item 1 from above, then this requires E (yes) to be pressed, as it belongs to the Eresponse list. If they press I, then this is incorrect. This is what I have so far for the trial code:

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = (trial.comprehension.response == list.Eresponse.nextvalue....

But this means iscorrectresponse is only dealing with the Eresponses?, I am unsure as to code up to ensure that a correct response depends on which type of comprehension question it belongs to - list E (for yes) or list I (for no). This is where I am stuck. I considered using <values> but could not fathom it.

Dave has already allowed me to make huge progress with this experiment I am running (with a full Inquisit license) and relates to my recent post titled 'branching' (about adapting LDT to incorporate scenarios, comprehension questions etc). Well It has all come together thanks to that single piece of advice thus far, so thank you so much. It is just this part I have run into bother with. I reckon I should be okay after this point.

The script is simple, and it works and runs the task, and so thought I'd attach here just in case (I know your amazing expertise allows you to understand what's going on straight away!)

Thank you kindly
Yours Sincerely
Anthony


You ought to have one <list> storing the responses for all questions; as its /items the list ought to contain the keyboard scancode of the key that is the correct one for the given question.

"E" = scancode 18
"I" = scancode 23
<list correctkeys>
/ items = (18, 18, 23, 18, 18, 23, 18, 23, 23, 23, 18, 23, 18, 23, 23, 18, 23, 18, 23, 23, 23, 23, 23, 23, 23, 18, 23, 23, 18, 23, 23, 23, 23, 18, 23, 23, 23, 23, 23, 18)
/ selectionmode = text.comprehension.currentindex
</list>

with

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
...
</trial>
By AnthonyFCollinsSussex - 3/9/2021

Dave - 3/9/2021
AnthonyFCollinsSussex - 3/9/2021
Hey there!

Hope all is well. I just need a tad bit of help for the following situation:

Say that you have 40 comprehension questions, some require a YES response ("E") or a NO response ("I") (one or the other, but not both). I have created lists for the respective comprehension question for each type of response (I won't paste all the comprehension question items here, but this is done in script of course):

<list Eresponse>
/ items = (1,2,4,5,7,11,13,16,18,26,29,34,40)
/ selectionmode = text.comprehension.currentindex
</list>

<list Iresponse>
/ items = (3,6,12,15,21,23,28,30,33,39)
/ selectionmode = text.comprehension.currentindex
</list>

Thus, when it comes to the trial, I am telling Inquisit to register what is 'correct'. For example, if they are presented with (question) item 1 from above, then this requires E (yes) to be pressed, as it belongs to the Eresponse list. If they press I, then this is incorrect. This is what I have so far for the trial code:

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = (trial.comprehension.response == list.Eresponse.nextvalue....

But this means iscorrectresponse is only dealing with the Eresponses?, I am unsure as to code up to ensure that a correct response depends on which type of comprehension question it belongs to - list E (for yes) or list I (for no). This is where I am stuck. I considered using <values> but could not fathom it.

Dave has already allowed me to make huge progress with this experiment I am running (with a full Inquisit license) and relates to my recent post titled 'branching' (about adapting LDT to incorporate scenarios, comprehension questions etc). Well It has all come together thanks to that single piece of advice thus far, so thank you so much. It is just this part I have run into bother with. I reckon I should be okay after this point.

The script is simple, and it works and runs the task, and so thought I'd attach here just in case (I know your amazing expertise allows you to understand what's going on straight away!)

Thank you kindly
Yours Sincerely
Anthony


You ought to have one <list> storing the responses for all questions; as its /items the list ought to contain the keyboard scancode of the key that is the correct one for the given question.

"E" = scancode 18
"I" = scancode 23
<list correctkeys>
/ items = (18, 18, 23, 18, 18, 23, 18, 23, 23, 23, 18, 23, 18, 23, 23, 18, 23, 18, 23, 23, 23, 23, 23, 23, 23, 18, 23, 23, 18, 23, 23, 23, 23, 18, 23, 23, 23, 23, 23, 18)
/ selectionmode = text.comprehension.currentindex
</list>

with

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
...
</trial>

Ohhhhhhh, I was plugging in the actual question items, and not the scan code keys for each item, I'm such a nub lol, this genuinely has sparked a Eureka moment, I get it now lol. Thank you very much once again, this makes a huge difference!

Yours Sincerely
By AnthonyFCollinsSussex - 3/9/2021

Dave - 3/9/2021
AnthonyFCollinsSussex - 3/9/2021
Hey there!

Hope all is well. I just need a tad bit of help for the following situation:

Say that you have 40 comprehension questions, some require a YES response ("E") or a NO response ("I") (one or the other, but not both). I have created lists for the respective comprehension question for each type of response (I won't paste all the comprehension question items here, but this is done in script of course):

<list Eresponse>
/ items = (1,2,4,5,7,11,13,16,18,26,29,34,40)
/ selectionmode = text.comprehension.currentindex
</list>

<list Iresponse>
/ items = (3,6,12,15,21,23,28,30,33,39)
/ selectionmode = text.comprehension.currentindex
</list>

Thus, when it comes to the trial, I am telling Inquisit to register what is 'correct'. For example, if they are presented with (question) item 1 from above, then this requires E (yes) to be pressed, as it belongs to the Eresponse list. If they press I, then this is incorrect. This is what I have so far for the trial code:

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = (trial.comprehension.response == list.Eresponse.nextvalue....

But this means iscorrectresponse is only dealing with the Eresponses?, I am unsure as to code up to ensure that a correct response depends on which type of comprehension question it belongs to - list E (for yes) or list I (for no). This is where I am stuck. I considered using <values> but could not fathom it.

Dave has already allowed me to make huge progress with this experiment I am running (with a full Inquisit license) and relates to my recent post titled 'branching' (about adapting LDT to incorporate scenarios, comprehension questions etc). Well It has all come together thanks to that single piece of advice thus far, so thank you so much. It is just this part I have run into bother with. I reckon I should be okay after this point.

The script is simple, and it works and runs the task, and so thought I'd attach here just in case (I know your amazing expertise allows you to understand what's going on straight away!)

Thank you kindly
Yours Sincerely
Anthony


You ought to have one <list> storing the responses for all questions; as its /items the list ought to contain the keyboard scancode of the key that is the correct one for the given question.

"E" = scancode 18
"I" = scancode 23
<list correctkeys>
/ items = (18, 18, 23, 18, 18, 23, 18, 23, 23, 23, 18, 23, 18, 23, 23, 18, 23, 18, 23, 23, 23, 23, 23, 23, 23, 18, 23, 23, 18, 23, 23, 23, 23, 18, 23, 23, 23, 23, 23, 18)
/ selectionmode = text.comprehension.currentindex
</list>

with

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
...
</trial>

Just to add, thank you for coding these respective keys here. I should like to mention that the following comprehension items (8,9,10,14,17,19,20,22,24,25,27,31,32,35,36,37,38) should be skipped (based on the nature of the experiment, since some pre-scenarios do not have comprehension questions attached to them at all, whilst others do (e.g. yes/no ones above)

Am I right in thinking I would add a /skip and somehow tell inquisit to filter these ones out?
By Dave - 3/9/2021

AnthonyFCollinsSussex - 3/9/2021
Dave - 3/9/2021
AnthonyFCollinsSussex - 3/9/2021
Hey there!

Hope all is well. I just need a tad bit of help for the following situation:

Say that you have 40 comprehension questions, some require a YES response ("E") or a NO response ("I") (one or the other, but not both). I have created lists for the respective comprehension question for each type of response (I won't paste all the comprehension question items here, but this is done in script of course):

<list Eresponse>
/ items = (1,2,4,5,7,11,13,16,18,26,29,34,40)
/ selectionmode = text.comprehension.currentindex
</list>

<list Iresponse>
/ items = (3,6,12,15,21,23,28,30,33,39)
/ selectionmode = text.comprehension.currentindex
</list>

Thus, when it comes to the trial, I am telling Inquisit to register what is 'correct'. For example, if they are presented with (question) item 1 from above, then this requires E (yes) to be pressed, as it belongs to the Eresponse list. If they press I, then this is incorrect. This is what I have so far for the trial code:

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = (trial.comprehension.response == list.Eresponse.nextvalue....

But this means iscorrectresponse is only dealing with the Eresponses?, I am unsure as to code up to ensure that a correct response depends on which type of comprehension question it belongs to - list E (for yes) or list I (for no). This is where I am stuck. I considered using <values> but could not fathom it.

Dave has already allowed me to make huge progress with this experiment I am running (with a full Inquisit license) and relates to my recent post titled 'branching' (about adapting LDT to incorporate scenarios, comprehension questions etc). Well It has all come together thanks to that single piece of advice thus far, so thank you so much. It is just this part I have run into bother with. I reckon I should be okay after this point.

The script is simple, and it works and runs the task, and so thought I'd attach here just in case (I know your amazing expertise allows you to understand what's going on straight away!)

Thank you kindly
Yours Sincerely
Anthony


You ought to have one <list> storing the responses for all questions; as its /items the list ought to contain the keyboard scancode of the key that is the correct one for the given question.

"E" = scancode 18
"I" = scancode 23
<list correctkeys>
/ items = (18, 18, 23, 18, 18, 23, 18, 23, 23, 23, 18, 23, 18, 23, 23, 18, 23, 18, 23, 23, 23, 23, 23, 23, 23, 18, 23, 23, 18, 23, 23, 23, 23, 18, 23, 23, 23, 23, 23, 18)
/ selectionmode = text.comprehension.currentindex
</list>

with

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
...
</trial>

Just to add, thank you for coding these respective keys here. I should like to mention that the following comprehension items (8,9,10,14,17,19,20,22,24,25,27,31,32,35,36,37,38) should be skipped (based on the nature of the experiment, since some pre-scenarios do not have comprehension questions attached to them at all, whilst others do (e.g. yes/no ones above)

Am I right in thinking I would add a /skip and somehow tell inquisit to filter these ones out?

Yes. Something like

<trial comprehension>
/ skip = [
    item.comprehension.item(text.scenario.currentindex) == "+";
]
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
</trial>

By AnthonyFCollinsSussex - 3/10/2021

Dave - 3/9/2021
AnthonyFCollinsSussex - 3/9/2021
Dave - 3/9/2021
AnthonyFCollinsSussex - 3/9/2021
Hey there!

Hope all is well. I just need a tad bit of help for the following situation:

Say that you have 40 comprehension questions, some require a YES response ("E") or a NO response ("I") (one or the other, but not both). I have created lists for the respective comprehension question for each type of response (I won't paste all the comprehension question items here, but this is done in script of course):

<list Eresponse>
/ items = (1,2,4,5,7,11,13,16,18,26,29,34,40)
/ selectionmode = text.comprehension.currentindex
</list>

<list Iresponse>
/ items = (3,6,12,15,21,23,28,30,33,39)
/ selectionmode = text.comprehension.currentindex
</list>

Thus, when it comes to the trial, I am telling Inquisit to register what is 'correct'. For example, if they are presented with (question) item 1 from above, then this requires E (yes) to be pressed, as it belongs to the Eresponse list. If they press I, then this is incorrect. This is what I have so far for the trial code:

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = (trial.comprehension.response == list.Eresponse.nextvalue....

But this means iscorrectresponse is only dealing with the Eresponses?, I am unsure as to code up to ensure that a correct response depends on which type of comprehension question it belongs to - list E (for yes) or list I (for no). This is where I am stuck. I considered using <values> but could not fathom it.

Dave has already allowed me to make huge progress with this experiment I am running (with a full Inquisit license) and relates to my recent post titled 'branching' (about adapting LDT to incorporate scenarios, comprehension questions etc). Well It has all come together thanks to that single piece of advice thus far, so thank you so much. It is just this part I have run into bother with. I reckon I should be okay after this point.

The script is simple, and it works and runs the task, and so thought I'd attach here just in case (I know your amazing expertise allows you to understand what's going on straight away!)

Thank you kindly
Yours Sincerely
Anthony


You ought to have one <list> storing the responses for all questions; as its /items the list ought to contain the keyboard scancode of the key that is the correct one for the given question.

"E" = scancode 18
"I" = scancode 23
<list correctkeys>
/ items = (18, 18, 23, 18, 18, 23, 18, 23, 23, 23, 18, 23, 18, 23, 23, 18, 23, 18, 23, 23, 23, 23, 23, 23, 23, 18, 23, 23, 18, 23, 23, 23, 23, 18, 23, 23, 23, 23, 23, 18)
/ selectionmode = text.comprehension.currentindex
</list>

with

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
...
</trial>

Just to add, thank you for coding these respective keys here. I should like to mention that the following comprehension items (8,9,10,14,17,19,20,22,24,25,27,31,32,35,36,37,38) should be skipped (based on the nature of the experiment, since some pre-scenarios do not have comprehension questions attached to them at all, whilst others do (e.g. yes/no ones above)

Am I right in thinking I would add a /skip and somehow tell inquisit to filter these ones out?

Yes. Something like

<trial comprehension>
/ skip = [
    item.comprehension.item(text.scenario.currentindex) == "+";
]
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
</trial>


Thank you so much <3
By AnthonyFCollinsSussex - 3/11/2021

Dave - 3/9/2021
AnthonyFCollinsSussex - 3/9/2021
Dave - 3/9/2021
AnthonyFCollinsSussex - 3/9/2021
Hey there!

Hope all is well. I just need a tad bit of help for the following situation:

Say that you have 40 comprehension questions, some require a YES response ("E") or a NO response ("I") (one or the other, but not both). I have created lists for the respective comprehension question for each type of response (I won't paste all the comprehension question items here, but this is done in script of course):

<list Eresponse>
/ items = (1,2,4,5,7,11,13,16,18,26,29,34,40)
/ selectionmode = text.comprehension.currentindex
</list>

<list Iresponse>
/ items = (3,6,12,15,21,23,28,30,33,39)
/ selectionmode = text.comprehension.currentindex
</list>

Thus, when it comes to the trial, I am telling Inquisit to register what is 'correct'. For example, if they are presented with (question) item 1 from above, then this requires E (yes) to be pressed, as it belongs to the Eresponse list. If they press I, then this is incorrect. This is what I have so far for the trial code:

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = (trial.comprehension.response == list.Eresponse.nextvalue....

But this means iscorrectresponse is only dealing with the Eresponses?, I am unsure as to code up to ensure that a correct response depends on which type of comprehension question it belongs to - list E (for yes) or list I (for no). This is where I am stuck. I considered using <values> but could not fathom it.

Dave has already allowed me to make huge progress with this experiment I am running (with a full Inquisit license) and relates to my recent post titled 'branching' (about adapting LDT to incorporate scenarios, comprehension questions etc). Well It has all come together thanks to that single piece of advice thus far, so thank you so much. It is just this part I have run into bother with. I reckon I should be okay after this point.

The script is simple, and it works and runs the task, and so thought I'd attach here just in case (I know your amazing expertise allows you to understand what's going on straight away!)

Thank you kindly
Yours Sincerely
Anthony


You ought to have one <list> storing the responses for all questions; as its /items the list ought to contain the keyboard scancode of the key that is the correct one for the given question.

"E" = scancode 18
"I" = scancode 23
<list correctkeys>
/ items = (18, 18, 23, 18, 18, 23, 18, 23, 23, 23, 18, 23, 18, 23, 23, 18, 23, 18, 23, 23, 23, 23, 23, 23, 23, 18, 23, 23, 18, 23, 23, 23, 23, 18, 23, 23, 23, 23, 23, 18)
/ selectionmode = text.comprehension.currentindex
</list>

with

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
...
</trial>

Just to add, thank you for coding these respective keys here. I should like to mention that the following comprehension items (8,9,10,14,17,19,20,22,24,25,27,31,32,35,36,37,38) should be skipped (based on the nature of the experiment, since some pre-scenarios do not have comprehension questions attached to them at all, whilst others do (e.g. yes/no ones above)

Am I right in thinking I would add a /skip and somehow tell inquisit to filter these ones out?

Yes. Something like

<trial comprehension>
/ skip = [
    item.comprehension.item(text.scenario.currentindex) == "+";
]
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
</trial>


Hi Dave. I Do not mean to be a bother, and I have thus far spent a day and a half working on this last issue before asking for help. Overall, my script/experiment works perfectly, kindly owed to your bits of advice above, thank you. I have only now to implement the remaining materials.
There is one last outstanding mystery, perhaps even an unsolvable bug dare I say? I have tried so many solutions honestly, and none have solved it, hence why I ask. As a reminder:

Scenario (press space once read) -- Single-target word (is it real or nonword?) --  (sometimes) a comprehension question (yes/no response).

For the majority of comprehension questions, the correct key mappings (via list as you advised) indeed works! For example, when I run the experiment, then check my raw data/output, under ‘correct’ column, the binary number (e.g. 0 or 1) corresponds to what was authentically correct, respectively. Either ‘E’ for yes or ‘I’ for no. However, those portion of questions specifically requiring a no (I) response, for some reason the ‘correct’ column inverts what the correct answer ought to be, for the following below comprehension question items:

ITEM 30 (answer = I)
ITEM 3 (answer = I)
ITEM 39 (answer = I)
ITEM 23 (answer = I)
ITEM 6 (answer = I)
ITEM 12 (answer = I)
ITEM 5 (answer = I)
ITEM 15 (answer = I)
ITEM 33 (answer = I)
ITEM 21 (answer = I)
ITEM 28 (answer = I)
ITEM 3 (answer = I)

e.g. for item 30, the question is ‘did you take a Chinese course?’. The answer to this is I/no. Yet in the binary (correct column), it produces a 0 if you press I, and a 1 if you press E! (hence invert). Bizarre no? And it is systematic for these ones above (I have doubly checked and must know them by heart by now lol). The yes/E questions work fine (e.g. binary 0, 1 responds equally correctly to an incorrect/correct response, respectively).
I tried changing key scans, re-typing items, swapping the correct keys for those select items, and much more. Nothing has done the trick at all. I paste the script here, and the file in case you wish to run so u can see the raw data. I’m so baffled, literally. The only thing I can now think of is something to do with lists, or making more lists or values but maybe I am wrong.

Thank you so much as always, I very much appreciate your help. I made all this script myself lol, and genuinely understand it, just so baffled by why correct output is systematically doing this for i/no responses.

*****************
Press spacebar onces you have read a scenario
Press E for YES or I for no

When a single word is shown, participants must decide whether it is a real word or nonword via E or I keypress
When answer comprehension questions, the same E and I responsea are required.
*****************




*****************
STIMULI
*****************

<item scenario>
/ 1 = "You have been promoted to head the team. You see your new team members are chatting and want to join them. As you walk up to them, you can tell by the look on their faces that you joining them is..."
/ 2 = "You are meeting your partner's friends for the first time tonight. As you chat with them, you can tell from how they are acting that they think your conversation is quite..."
/ 3 = "You have promised your brother to pick up his girlfriend from the airport today. The traffic is bad and you are delayed by an hour. You know that when your brother hears you were late, he will be..."
/ 4 = "You and your friends are trying to choose a film for a movie night. As you suggest a film which you really enjoyed, you see them exchange a look and you know that they think your choice is..."
/ 5 = "You cancel the lunch plan with your cousin due to your schedule, and you know he will be..."
/ 6 = "You have just started a new course and don't yet know many people. You are asked a tricky question by the tutor and you do your best to answer. As you look around the room you see some people smiling and realise the smiles are..."
/ 7 = "You overhear your friend mentioning your name on the phone and they said something that is..."
/ 8 = "As you walk into a new class, you can tell from the way they greet you that they are..."
/ 9 = "Your blind date looks surprised when they see you, you know they feel..."    
/ 10 = "You overhear your friends discussing your outfit. They think it is..."
/ 11 = "Your performance in the play was commented on by the other actors. What they said was very..."
/ 12 = "You buy a wedding gift for your friend. When she sees the gift, you can tell that she is..."
/ 13 = "Your friend asks whether you want to go to a play with them. You can't make the day they suggest. You know that when you tell them, your friend is likely to be..."
/ 14 = "You have found a mistake in your group report. You decide to approach the person who was in charge of that part of the report to talk about the mistake, and as you start to speak, you expect this conversation will be..."
/ 15 = "You overhear your classmates discussing your contribution to the presentation. They say something..."
/ 16 = "You are having a reunion dinner with your old classmates. You expect that seeing them again will be quite..."
/ 17 = "Your new supervisor calls a meeting and asks each of you in turn to say a little about yourself and your area of expertise. After you have finished speaking, you are aware that you've come across..."
/ 18 = "Your teacher provides you with a lot of feedback, most of it is..."
/ 19 = "You wait for your mark in anticipation, feeling a sense of..."
/ 20 = "Your boss asked you to run a project and you think that the workload is quite..."
/ 21 = "The teacher suggests that your child's behaviour must be due to your parenting style as they are behaving so..."
/ 22 = "Your colleague asks your opinion about a difficult issue. You tell them your thoughts and by the expression on their face, you know that your advice was..."
/ 23 = "You recently applied for a work secondment to an interesting project that others are also applying to. You think of your recent performance at work and realise your chance to getting it is relatively..."
/ 24 = "There will be major changes at your company over the next 3 years, and you think that you will be..."
/ 25 = "You are having an interview for some funding that you applied for. During the interview, you present your resume to the committee and you can tell that the committee thinks you are..."
/ 26 = "You are at an interview for your dream job. They ask a tricky question and invite you to share your opinion on the subject. At the end, you can tell by the interviewers' expressions that they thought your answers were..."
/ 27 = "You receive a letter from the university you applied to, it says that you have been..."
/ 28 = "You and a more senior colleague work on a spread sheet together. As she reviews what you have done she tells you that all the details are..."
/ 29 = "You have been working on a bid for more funds for your department. After a month of waiting you find out it has been..."
/ 30 = "You are in an oral test for your French course. The teacher is very thorough and asks you a lot of questions. At the end of the test, you think your grade will be..."
/ 31 = "You have been in a new work environment for two months, and you suddenly realise that your ability to do your role is..."
/ 32 = "You spent a lot of time on a tough course this term. As you login to see your final grade, you suspect all your efforts will have been..."
/ 33 = "You are about to sit an assessment following a trial period in a new job. As you sit down to take the test you are quite sure you will..."
/ 34 = "Your new job has changed your life for the..."
/ 35 = "You have lots of work to do today. After few hours of working, you realise that the speed of your progress has been..."
/ 36 = "Your company is making a few changes to their salary structure. You think that compared to now, you will soon earn..."
/ 37 = "You register for a course. Looking at the reading list for the first module, you realise that the time you have for it will be..."
/ 38 = "You are preparing for your annual work appraisal. You think that passing it will be..."
/ 39 = "You participate in an art competition. When you see the other entrants' work, you think about your own and know that you winning the prize is quite..."
/ 40 = "You overhear someone saying that a child in the nursery has meningitis. That night, you go to check on your toddler and find they are..."
</item>

<item positiveword>
/ 1 = "welcome"
/ 2 = "interesting"
/ 3 = "understanding"
/ 4 = "perfect"
/ 5 = "understanding"
/ 6 = "genuine"
/ 7 = "positive"
/ 8 = "friendly"
/ 9 = "pleased"
/ 10 = "nice"
/ 11 = "encouraging"
/ 12 = "delighted"
/ 13 = "okay"
/ 14 = "fine"
/ 15 = "complimentary"
/ 16 = "enjoyable"
/ 17 = "great"
/ 18 = "positive"
/ 19 = "excitement"
/ 20 = "easy"
/ 21 = "well"
/ 22 = "helpful"
/ 23 = "high"
/ 24 = "promoted"
/ 25 = "qualified"
/ 26 = "good"
/ 27 = "accepted"
/ 28 = "correct"
/ 29 = "approved"
/ 30 = "high"
/ 31 = "improving"
/ 32 = "rewarded"
/ 33 = "pass"
/ 34 = "best"
/ 35 = "fast"
/ 36 = "more"
/ 37 = "sufficient"
/ 38 = "simple"
/ 39 = "likely"
/ 40 = "fine"
</item>

< item comprehension>
/ 1 = "Did you head a team?"
/ 2 = "Did you meet your partner's friends?"
/ 3 = "Did you get there early?"
/ 4 = "Were you choosing a film to watch?"
/ 5 = "Did you plan to have lunch with your friend?"
/ 6 = "Did you answer an easy question?"
/ 7 = "Did you hear your friend mentioning your name?"
/ 8 = "+"
/ 9 = "+"
/ 10 = "+"
/ 11 = "Did you perform in a play?"
/ 12 = "Did you buy a birthday present?"
/ 13 = "Did your friend invite you to a play?"
/ 14 = "+"
/ 15 = "Did you overhear your parents talking about you?"
/ 16 = "Are you going to meet your old classmates?"
/ 17 = "+"
/ 18 = "Did you get lots of comments from your teacher?"
/ 19 = "+"
/ 20 = "+"
/ 21 = "Was your child ill?"
/ 22 = "+"
/ 23 = "Were you the only person who has applied?"
/ 24 = "+"
/ 25 = "+"
/ 26 = "Did you answer some questions in an interview?"
/ 27 = "+"
/ 28 = "Did you work with a junior colleague?"
/ 29 = "Were you applying for funding?"
/ 30 = "Are you taking a Chinese course?"
/ 31 = "+"
/ 32 = "+"
/ 33 = "Did you sit an assessment last week?"
/ 34 = "Did you get a new job?"
/ 35 = "+"
/ 36 = "+"
/ 37 = "+"
/ 38 = "+"
/ 39 = "Were you entering a music competition?"
/ 40 = "Did you check in on your child that night?"
</item>

<text scenario>
/size = (900, 70)
/position = (50, 50)
/halign = center
/ items = scenario
/ select = noreplace
</text>

<text positiveword>
/size = (900, 70)
/position = (50, 50)
/halign = center
/items = positiveword
/ select = text.scenario.currentindex
</text>

<text comprehension>
/size = (900, 70)
/position = (50, 50)
/halign = center
/ items = comprehension
/ select = text.scenario.currentindex
</text>

<text fixation>
/ items = ("+")
/size = (900, 70)
/position = (50, 50)
/halign = center
</text>

*****************
LISTS
*****************
Correct keys refers to the required/correct response for a given comprehension question:
"E" = scancode 18 (yes) includes question items (1,2,4,5,7,11,13,16,18,26,29,34,40)
"I" = scancode 23 (no) includes question items (3,6,12,15,21,23,28,30,33,39)

The portion of scenarios WITHOUT a comprehension question are skipped in trials, and include question items (8,9,10,14,17,19,20,22,24,25,27,31,32,35,36,37,38) - they have been
filled with '50'/no correct key, (50 was taken at random given these trials are skipped)
*****************

<list correctkeys>
/ items = (18, 18, 23, 18, 23, 23, 18, 50, 50, 50, 18, 23, 18, 50, 23, 18, 50, 18, 50, 50, 23, 50, 23, 50, 50, 18, 50, 23, 18, 23, 50, 50, 23, 18, 50, 50, 50, 50, 23, 18)
/ selectionmode = text.comprehension.currentindex
</list>

<list positiveword>
</list>

<list positiveword_correctRT>
</list>

<list overallaccuracy>
</list>

<list overallRT>
</list>

*****************
TRIALS
*****************
<trial fixation>
/ stimulustimes = [0=text.fixation]
/ recorddata = false
/ showmousecursor = false
/ timeout = 800
</trial>

<trial scenario>
/ stimulustimes = [0=text.fixation; 300=text.scenario]
/ correctresponse = (" ")
/ validresponse = (" ")
/ branch = [if(trial.scenario.correct == 1) trial.positiveword]

</trial>

<trial positiveword>
/ pretrialpause = 500
/ stimulusframes = [1=text.positiveword]
/ correctresponse = ("E")
/ validresponse = ("E", "I")
/ showmousecursor = false
/ posttrialpause = 800
/ ontrialend = [
    list.positiveword.insertitem(trial.positiveword.correct, 1);
    list.overallaccuracy.insertitem(trial.positiveword.correct, 1);
    if (trial.positiveword.correct) {
        list.positiveword_correctRT.insertitem(trial.positiveword.latency, 1);
        list.overallRT.insertitem(trial.positiveword.latency, 1);
    };
]
/ branch = [if(trial.positiveword.count >= 0) trial.comprehension]
</trial>

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
/ skip = [item.comprehension.item(text.scenario.currentindex) == "+";]
</trial>

*****************
BLOCKS
*****************

<block LDT>
/ trials = [1=trial.fixation; 2-40 = noreplace(trial.scenario)]
</block>

*****************
EXPERIMENT
*****************

<expt LDT>
/ blocks = [1=block.LDT]
</expt>

*****************
EXPRESSIONS
*****************
We are defining expressions here in order to collect key summary data further down, such as mean, medians, SD etc. These apply to each of the single-target word types
namely, positive, negative and nonwords.
*****************
<expressions>
/ PropCorrect = list.overallaccuracy.mean
/ MeanRT = list.overallRT.mean
/ STD = list.overallRT.standarddeviation
/ MedianRT = list.overallRT.median

/PropCorrect_Positiveword = list.positiveword.mean
/ MeanRT_Positiveword = list.positiveword_correctRT.mean
/ STD_Positiveword = list.positiveword_correctRT.standarddeviation
/ MedianRT_Positiveword = list.positiveword_correctRT.median
</expressions>

*****************
VALUES
*****************
/completed:                0 = script was not completed; 1 = script was completed (all conditions run)
AUTOMATICALLY UPDATED
*****************
<values>
/completed = 0
</values>

*****************
SUMMARY DATA
*****************
Collect key data based on the expressions above, such as mean, median and SD data from each type of word trial (e.g. positive, negative, mnonword).
Both mean and median have been included. Previous studies (e.g. Feng, Hirsch etc) have opted for median since 'the reaction time medians were used in this study instead of means because
reaction time means are positively skewed and medians are much more insensitive to the skew of the distribution (Baayen & Milin, 2010) and in keeping
with previous research using the LDT task (Hirsch & Mathews, 1997, 2000;
Hirsch, Mathews, Clark, Williams, & Morrison 2003; Hirsch et al., 2006).
*****************
<summarydata>
/columns = (script.startdate, script.starttime, script.subjectid, script.groupid, script.elapsedtime, computer.platform, values.completed,
expressions.PropCorrect, expressions.MeanRT, expressions.STD, expressions.MedianRT,
expressions.PropCorrect_Positiveword, expressions.MeanRT_Positiveword, expressions.STD_Positiveword, expressions.MedianRT_Positiveword)
/ separatefiles = true
</summarydata>

*****************
RAW DATA
*****************
<data>
/separatefiles = true
/ columns = (build, computer.platform, date, time, subject, group, blocknum, blockcode, trialnum, trialcode, response, correct, latency,
stimulusnumber, stimulusitem, stimulusnumber, stimulusitem)
</data>



By Dave - 3/11/2021

AnthonyFCollinsSussex - 3/11/2021
Dave - 3/9/2021
AnthonyFCollinsSussex - 3/9/2021
Dave - 3/9/2021
AnthonyFCollinsSussex - 3/9/2021
Hey there!

Hope all is well. I just need a tad bit of help for the following situation:

Say that you have 40 comprehension questions, some require a YES response ("E") or a NO response ("I") (one or the other, but not both). I have created lists for the respective comprehension question for each type of response (I won't paste all the comprehension question items here, but this is done in script of course):

<list Eresponse>
/ items = (1,2,4,5,7,11,13,16,18,26,29,34,40)
/ selectionmode = text.comprehension.currentindex
</list>

<list Iresponse>
/ items = (3,6,12,15,21,23,28,30,33,39)
/ selectionmode = text.comprehension.currentindex
</list>

Thus, when it comes to the trial, I am telling Inquisit to register what is 'correct'. For example, if they are presented with (question) item 1 from above, then this requires E (yes) to be pressed, as it belongs to the Eresponse list. If they press I, then this is incorrect. This is what I have so far for the trial code:

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = (trial.comprehension.response == list.Eresponse.nextvalue....

But this means iscorrectresponse is only dealing with the Eresponses?, I am unsure as to code up to ensure that a correct response depends on which type of comprehension question it belongs to - list E (for yes) or list I (for no). This is where I am stuck. I considered using <values> but could not fathom it.

Dave has already allowed me to make huge progress with this experiment I am running (with a full Inquisit license) and relates to my recent post titled 'branching' (about adapting LDT to incorporate scenarios, comprehension questions etc). Well It has all come together thanks to that single piece of advice thus far, so thank you so much. It is just this part I have run into bother with. I reckon I should be okay after this point.

The script is simple, and it works and runs the task, and so thought I'd attach here just in case (I know your amazing expertise allows you to understand what's going on straight away!)

Thank you kindly
Yours Sincerely
Anthony


You ought to have one <list> storing the responses for all questions; as its /items the list ought to contain the keyboard scancode of the key that is the correct one for the given question.

"E" = scancode 18
"I" = scancode 23
<list correctkeys>
/ items = (18, 18, 23, 18, 18, 23, 18, 23, 23, 23, 18, 23, 18, 23, 23, 18, 23, 18, 23, 23, 23, 23, 23, 23, 23, 18, 23, 23, 18, 23, 23, 23, 23, 18, 23, 23, 23, 23, 23, 18)
/ selectionmode = text.comprehension.currentindex
</list>

with

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
...
</trial>

Just to add, thank you for coding these respective keys here. I should like to mention that the following comprehension items (8,9,10,14,17,19,20,22,24,25,27,31,32,35,36,37,38) should be skipped (based on the nature of the experiment, since some pre-scenarios do not have comprehension questions attached to them at all, whilst others do (e.g. yes/no ones above)

Am I right in thinking I would add a /skip and somehow tell inquisit to filter these ones out?

Yes. Something like

<trial comprehension>
/ skip = [
    item.comprehension.item(text.scenario.currentindex) == "+";
]
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
</trial>


Hi Dave. I Do not mean to be a bother, and I have thus far spent a day and a half working on this last issue before asking for help. Overall, my script/experiment works perfectly, kindly owed to your bits of advice above, thank you. I have only now to implement the remaining materials.
There is one last outstanding mystery, perhaps even an unsolvable bug dare I say? I have tried so many solutions honestly, and none have solved it, hence why I ask. As a reminder:

Scenario (press space once read) -- Single-target word (is it real or nonword?) --  (sometimes) a comprehension question (yes/no response).

For the majority of comprehension questions, the correct key mappings (via list as you advised) indeed works! For example, when I run the experiment, then check my raw data/output, under ‘correct’ column, the binary number (e.g. 0 or 1) corresponds to what was authentically correct, respectively. Either ‘E’ for yes or ‘I’ for no. However, those portion of questions specifically requiring a no (I) response, for some reason the ‘correct’ column inverts what the correct answer ought to be, for the following below comprehension question items:

ITEM 30 (answer = I)
ITEM 3 (answer = I)
ITEM 39 (answer = I)
ITEM 23 (answer = I)
ITEM 6 (answer = I)
ITEM 12 (answer = I)
ITEM 5 (answer = I)
ITEM 15 (answer = I)
ITEM 33 (answer = I)
ITEM 21 (answer = I)
ITEM 28 (answer = I)
ITEM 3 (answer = I)

e.g. for item 30, the question is ‘did you take a Chinese course?’. The answer to this is I/no. Yet in the binary (correct column), it produces a 0 if you press I, and a 1 if you press E! (hence invert). Bizarre no? And it is systematic for these ones above (I have doubly checked and must know them by heart by now lol). The yes/E questions work fine (e.g. binary 0, 1 responds equally correctly to an incorrect/correct response, respectively).
I tried changing key scans, re-typing items, swapping the correct keys for those select items, and much more. Nothing has done the trick at all. I paste the script here, and the file in case you wish to run so u can see the raw data. I’m so baffled, literally. The only thing I can now think of is something to do with lists, or making more lists or values but maybe I am wrong.

Thank you so much as always, I very much appreciate your help. I made all this script myself lol, and genuinely understand it, just so baffled by why correct output is systematically doing this for i/no responses.

*****************
Press spacebar onces you have read a scenario
Press E for YES or I for no

When a single word is shown, participants must decide whether it is a real word or nonword via E or I keypress
When answer comprehension questions, the same E and I responsea are required.
*****************




*****************
STIMULI
*****************

<item scenario>
/ 1 = "You have been promoted to head the team. You see your new team members are chatting and want to join them. As you walk up to them, you can tell by the look on their faces that you joining them is..."
/ 2 = "You are meeting your partner's friends for the first time tonight. As you chat with them, you can tell from how they are acting that they think your conversation is quite..."
/ 3 = "You have promised your brother to pick up his girlfriend from the airport today. The traffic is bad and you are delayed by an hour. You know that when your brother hears you were late, he will be..."
/ 4 = "You and your friends are trying to choose a film for a movie night. As you suggest a film which you really enjoyed, you see them exchange a look and you know that they think your choice is..."
/ 5 = "You cancel the lunch plan with your cousin due to your schedule, and you know he will be..."
/ 6 = "You have just started a new course and don't yet know many people. You are asked a tricky question by the tutor and you do your best to answer. As you look around the room you see some people smiling and realise the smiles are..."
/ 7 = "You overhear your friend mentioning your name on the phone and they said something that is..."
/ 8 = "As you walk into a new class, you can tell from the way they greet you that they are..."
/ 9 = "Your blind date looks surprised when they see you, you know they feel..."    
/ 10 = "You overhear your friends discussing your outfit. They think it is..."
/ 11 = "Your performance in the play was commented on by the other actors. What they said was very..."
/ 12 = "You buy a wedding gift for your friend. When she sees the gift, you can tell that she is..."
/ 13 = "Your friend asks whether you want to go to a play with them. You can't make the day they suggest. You know that when you tell them, your friend is likely to be..."
/ 14 = "You have found a mistake in your group report. You decide to approach the person who was in charge of that part of the report to talk about the mistake, and as you start to speak, you expect this conversation will be..."
/ 15 = "You overhear your classmates discussing your contribution to the presentation. They say something..."
/ 16 = "You are having a reunion dinner with your old classmates. You expect that seeing them again will be quite..."
/ 17 = "Your new supervisor calls a meeting and asks each of you in turn to say a little about yourself and your area of expertise. After you have finished speaking, you are aware that you've come across..."
/ 18 = "Your teacher provides you with a lot of feedback, most of it is..."
/ 19 = "You wait for your mark in anticipation, feeling a sense of..."
/ 20 = "Your boss asked you to run a project and you think that the workload is quite..."
/ 21 = "The teacher suggests that your child's behaviour must be due to your parenting style as they are behaving so..."
/ 22 = "Your colleague asks your opinion about a difficult issue. You tell them your thoughts and by the expression on their face, you know that your advice was..."
/ 23 = "You recently applied for a work secondment to an interesting project that others are also applying to. You think of your recent performance at work and realise your chance to getting it is relatively..."
/ 24 = "There will be major changes at your company over the next 3 years, and you think that you will be..."
/ 25 = "You are having an interview for some funding that you applied for. During the interview, you present your resume to the committee and you can tell that the committee thinks you are..."
/ 26 = "You are at an interview for your dream job. They ask a tricky question and invite you to share your opinion on the subject. At the end, you can tell by the interviewers' expressions that they thought your answers were..."
/ 27 = "You receive a letter from the university you applied to, it says that you have been..."
/ 28 = "You and a more senior colleague work on a spread sheet together. As she reviews what you have done she tells you that all the details are..."
/ 29 = "You have been working on a bid for more funds for your department. After a month of waiting you find out it has been..."
/ 30 = "You are in an oral test for your French course. The teacher is very thorough and asks you a lot of questions. At the end of the test, you think your grade will be..."
/ 31 = "You have been in a new work environment for two months, and you suddenly realise that your ability to do your role is..."
/ 32 = "You spent a lot of time on a tough course this term. As you login to see your final grade, you suspect all your efforts will have been..."
/ 33 = "You are about to sit an assessment following a trial period in a new job. As you sit down to take the test you are quite sure you will..."
/ 34 = "Your new job has changed your life for the..."
/ 35 = "You have lots of work to do today. After few hours of working, you realise that the speed of your progress has been..."
/ 36 = "Your company is making a few changes to their salary structure. You think that compared to now, you will soon earn..."
/ 37 = "You register for a course. Looking at the reading list for the first module, you realise that the time you have for it will be..."
/ 38 = "You are preparing for your annual work appraisal. You think that passing it will be..."
/ 39 = "You participate in an art competition. When you see the other entrants' work, you think about your own and know that you winning the prize is quite..."
/ 40 = "You overhear someone saying that a child in the nursery has meningitis. That night, you go to check on your toddler and find they are..."
</item>

<item positiveword>
/ 1 = "welcome"
/ 2 = "interesting"
/ 3 = "understanding"
/ 4 = "perfect"
/ 5 = "understanding"
/ 6 = "genuine"
/ 7 = "positive"
/ 8 = "friendly"
/ 9 = "pleased"
/ 10 = "nice"
/ 11 = "encouraging"
/ 12 = "delighted"
/ 13 = "okay"
/ 14 = "fine"
/ 15 = "complimentary"
/ 16 = "enjoyable"
/ 17 = "great"
/ 18 = "positive"
/ 19 = "excitement"
/ 20 = "easy"
/ 21 = "well"
/ 22 = "helpful"
/ 23 = "high"
/ 24 = "promoted"
/ 25 = "qualified"
/ 26 = "good"
/ 27 = "accepted"
/ 28 = "correct"
/ 29 = "approved"
/ 30 = "high"
/ 31 = "improving"
/ 32 = "rewarded"
/ 33 = "pass"
/ 34 = "best"
/ 35 = "fast"
/ 36 = "more"
/ 37 = "sufficient"
/ 38 = "simple"
/ 39 = "likely"
/ 40 = "fine"
</item>

< item comprehension>
/ 1 = "Did you head a team?"
/ 2 = "Did you meet your partner's friends?"
/ 3 = "Did you get there early?"
/ 4 = "Were you choosing a film to watch?"
/ 5 = "Did you plan to have lunch with your friend?"
/ 6 = "Did you answer an easy question?"
/ 7 = "Did you hear your friend mentioning your name?"
/ 8 = "+"
/ 9 = "+"
/ 10 = "+"
/ 11 = "Did you perform in a play?"
/ 12 = "Did you buy a birthday present?"
/ 13 = "Did your friend invite you to a play?"
/ 14 = "+"
/ 15 = "Did you overhear your parents talking about you?"
/ 16 = "Are you going to meet your old classmates?"
/ 17 = "+"
/ 18 = "Did you get lots of comments from your teacher?"
/ 19 = "+"
/ 20 = "+"
/ 21 = "Was your child ill?"
/ 22 = "+"
/ 23 = "Were you the only person who has applied?"
/ 24 = "+"
/ 25 = "+"
/ 26 = "Did you answer some questions in an interview?"
/ 27 = "+"
/ 28 = "Did you work with a junior colleague?"
/ 29 = "Were you applying for funding?"
/ 30 = "Are you taking a Chinese course?"
/ 31 = "+"
/ 32 = "+"
/ 33 = "Did you sit an assessment last week?"
/ 34 = "Did you get a new job?"
/ 35 = "+"
/ 36 = "+"
/ 37 = "+"
/ 38 = "+"
/ 39 = "Were you entering a music competition?"
/ 40 = "Did you check in on your child that night?"
</item>

<text scenario>
/size = (900, 70)
/position = (50, 50)
/halign = center
/ items = scenario
/ select = noreplace
</text>

<text positiveword>
/size = (900, 70)
/position = (50, 50)
/halign = center
/items = positiveword
/ select = text.scenario.currentindex
</text>

<text comprehension>
/size = (900, 70)
/position = (50, 50)
/halign = center
/ items = comprehension
/ select = text.scenario.currentindex
</text>

<text fixation>
/ items = ("+")
/size = (900, 70)
/position = (50, 50)
/halign = center
</text>

*****************
LISTS
*****************
Correct keys refers to the required/correct response for a given comprehension question:
"E" = scancode 18 (yes) includes question items (1,2,4,5,7,11,13,16,18,26,29,34,40)
"I" = scancode 23 (no) includes question items (3,6,12,15,21,23,28,30,33,39)

The portion of scenarios WITHOUT a comprehension question are skipped in trials, and include question items (8,9,10,14,17,19,20,22,24,25,27,31,32,35,36,37,38) - they have been
filled with '50'/no correct key, (50 was taken at random given these trials are skipped)
*****************

<list correctkeys>
/ items = (18, 18, 23, 18, 23, 23, 18, 50, 50, 50, 18, 23, 18, 50, 23, 18, 50, 18, 50, 50, 23, 50, 23, 50, 50, 18, 50, 23, 18, 23, 50, 50, 23, 18, 50, 50, 50, 50, 23, 18)
/ selectionmode = text.comprehension.currentindex
</list>

<list positiveword>
</list>

<list positiveword_correctRT>
</list>

<list overallaccuracy>
</list>

<list overallRT>
</list>

*****************
TRIALS
*****************
<trial fixation>
/ stimulustimes = [0=text.fixation]
/ recorddata = false
/ showmousecursor = false
/ timeout = 800
</trial>

<trial scenario>
/ stimulustimes = [0=text.fixation; 300=text.scenario]
/ correctresponse = (" ")
/ validresponse = (" ")
/ branch = [if(trial.scenario.correct == 1) trial.positiveword]

</trial>

<trial positiveword>
/ pretrialpause = 500
/ stimulusframes = [1=text.positiveword]
/ correctresponse = ("E")
/ validresponse = ("E", "I")
/ showmousecursor = false
/ posttrialpause = 800
/ ontrialend = [
    list.positiveword.insertitem(trial.positiveword.correct, 1);
    list.overallaccuracy.insertitem(trial.positiveword.correct, 1);
    if (trial.positiveword.correct) {
        list.positiveword_correctRT.insertitem(trial.positiveword.latency, 1);
        list.overallRT.insertitem(trial.positiveword.latency, 1);
    };
]
/ branch = [if(trial.positiveword.count >= 0) trial.comprehension]
</trial>

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
/ skip = [item.comprehension.item(text.scenario.currentindex) == "+";]
</trial>

*****************
BLOCKS
*****************

<block LDT>
/ trials = [1=trial.fixation; 2-40 = noreplace(trial.scenario)]
</block>

*****************
EXPERIMENT
*****************

<expt LDT>
/ blocks = [1=block.LDT]
</expt>

*****************
EXPRESSIONS
*****************
We are defining expressions here in order to collect key summary data further down, such as mean, medians, SD etc. These apply to each of the single-target word types
namely, positive, negative and nonwords.
*****************
<expressions>
/ PropCorrect = list.overallaccuracy.mean
/ MeanRT = list.overallRT.mean
/ STD = list.overallRT.standarddeviation
/ MedianRT = list.overallRT.median

/PropCorrect_Positiveword = list.positiveword.mean
/ MeanRT_Positiveword = list.positiveword_correctRT.mean
/ STD_Positiveword = list.positiveword_correctRT.standarddeviation
/ MedianRT_Positiveword = list.positiveword_correctRT.median
</expressions>

*****************
VALUES
*****************
/completed:                0 = script was not completed; 1 = script was completed (all conditions run)
AUTOMATICALLY UPDATED
*****************
<values>
/completed = 0
</values>

*****************
SUMMARY DATA
*****************
Collect key data based on the expressions above, such as mean, median and SD data from each type of word trial (e.g. positive, negative, mnonword).
Both mean and median have been included. Previous studies (e.g. Feng, Hirsch etc) have opted for median since 'the reaction time medians were used in this study instead of means because
reaction time means are positively skewed and medians are much more insensitive to the skew of the distribution (Baayen & Milin, 2010) and in keeping
with previous research using the LDT task (Hirsch & Mathews, 1997, 2000;
Hirsch, Mathews, Clark, Williams, & Morrison 2003; Hirsch et al., 2006).
*****************
<summarydata>
/columns = (script.startdate, script.starttime, script.subjectid, script.groupid, script.elapsedtime, computer.platform, values.completed,
expressions.PropCorrect, expressions.MeanRT, expressions.STD, expressions.MedianRT,
expressions.PropCorrect_Positiveword, expressions.MeanRT_Positiveword, expressions.STD_Positiveword, expressions.MedianRT_Positiveword)
/ separatefiles = true
</summarydata>

*****************
RAW DATA
*****************
<data>
/separatefiles = true
/ columns = (build, computer.platform, date, time, subject, group, blocknum, blockcode, trialnum, trialcode, response, correct, latency,
stimulusnumber, stimulusitem, stimulusnumber, stimulusitem)
</data>




Try setting

<list correctkeys>
/ items = (18, 18, 23, 18, 23, 23, 18, 50, 50, 50, 18, 23, 18, 50, 23, 18, 50, 18, 50, 50, 23, 50, 23, 50, 50, 18, 50, 23, 18, 23, 50, 50, 23, 18, 50, 50, 50, 50, 23, 18)
/ selectionmode = text.scenario.currentindex
</list>

and that should hopefully do the trick.
By AnthonyFCollinsSussex - 3/11/2021

Dave - 3/11/2021
AnthonyFCollinsSussex - 3/11/2021
Dave - 3/9/2021
AnthonyFCollinsSussex - 3/9/2021
Dave - 3/9/2021
AnthonyFCollinsSussex - 3/9/2021
Hey there!

Hope all is well. I just need a tad bit of help for the following situation:

Say that you have 40 comprehension questions, some require a YES response ("E") or a NO response ("I") (one or the other, but not both). I have created lists for the respective comprehension question for each type of response (I won't paste all the comprehension question items here, but this is done in script of course):

<list Eresponse>
/ items = (1,2,4,5,7,11,13,16,18,26,29,34,40)
/ selectionmode = text.comprehension.currentindex
</list>

<list Iresponse>
/ items = (3,6,12,15,21,23,28,30,33,39)
/ selectionmode = text.comprehension.currentindex
</list>

Thus, when it comes to the trial, I am telling Inquisit to register what is 'correct'. For example, if they are presented with (question) item 1 from above, then this requires E (yes) to be pressed, as it belongs to the Eresponse list. If they press I, then this is incorrect. This is what I have so far for the trial code:

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = (trial.comprehension.response == list.Eresponse.nextvalue....

But this means iscorrectresponse is only dealing with the Eresponses?, I am unsure as to code up to ensure that a correct response depends on which type of comprehension question it belongs to - list E (for yes) or list I (for no). This is where I am stuck. I considered using <values> but could not fathom it.

Dave has already allowed me to make huge progress with this experiment I am running (with a full Inquisit license) and relates to my recent post titled 'branching' (about adapting LDT to incorporate scenarios, comprehension questions etc). Well It has all come together thanks to that single piece of advice thus far, so thank you so much. It is just this part I have run into bother with. I reckon I should be okay after this point.

The script is simple, and it works and runs the task, and so thought I'd attach here just in case (I know your amazing expertise allows you to understand what's going on straight away!)

Thank you kindly
Yours Sincerely
Anthony


You ought to have one <list> storing the responses for all questions; as its /items the list ought to contain the keyboard scancode of the key that is the correct one for the given question.

"E" = scancode 18
"I" = scancode 23
<list correctkeys>
/ items = (18, 18, 23, 18, 18, 23, 18, 23, 23, 23, 18, 23, 18, 23, 23, 18, 23, 18, 23, 23, 23, 23, 23, 23, 23, 18, 23, 23, 18, 23, 23, 23, 23, 18, 23, 23, 23, 23, 23, 18)
/ selectionmode = text.comprehension.currentindex
</list>

with

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
...
</trial>

Just to add, thank you for coding these respective keys here. I should like to mention that the following comprehension items (8,9,10,14,17,19,20,22,24,25,27,31,32,35,36,37,38) should be skipped (based on the nature of the experiment, since some pre-scenarios do not have comprehension questions attached to them at all, whilst others do (e.g. yes/no ones above)

Am I right in thinking I would add a /skip and somehow tell inquisit to filter these ones out?

Yes. Something like

<trial comprehension>
/ skip = [
    item.comprehension.item(text.scenario.currentindex) == "+";
]
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
</trial>


Hi Dave. I Do not mean to be a bother, and I have thus far spent a day and a half working on this last issue before asking for help. Overall, my script/experiment works perfectly, kindly owed to your bits of advice above, thank you. I have only now to implement the remaining materials.
There is one last outstanding mystery, perhaps even an unsolvable bug dare I say? I have tried so many solutions honestly, and none have solved it, hence why I ask. As a reminder:

Scenario (press space once read) -- Single-target word (is it real or nonword?) --  (sometimes) a comprehension question (yes/no response).

For the majority of comprehension questions, the correct key mappings (via list as you advised) indeed works! For example, when I run the experiment, then check my raw data/output, under ‘correct’ column, the binary number (e.g. 0 or 1) corresponds to what was authentically correct, respectively. Either ‘E’ for yes or ‘I’ for no. However, those portion of questions specifically requiring a no (I) response, for some reason the ‘correct’ column inverts what the correct answer ought to be, for the following below comprehension question items:

ITEM 30 (answer = I)
ITEM 3 (answer = I)
ITEM 39 (answer = I)
ITEM 23 (answer = I)
ITEM 6 (answer = I)
ITEM 12 (answer = I)
ITEM 5 (answer = I)
ITEM 15 (answer = I)
ITEM 33 (answer = I)
ITEM 21 (answer = I)
ITEM 28 (answer = I)
ITEM 3 (answer = I)

e.g. for item 30, the question is ‘did you take a Chinese course?’. The answer to this is I/no. Yet in the binary (correct column), it produces a 0 if you press I, and a 1 if you press E! (hence invert). Bizarre no? And it is systematic for these ones above (I have doubly checked and must know them by heart by now lol). The yes/E questions work fine (e.g. binary 0, 1 responds equally correctly to an incorrect/correct response, respectively).
I tried changing key scans, re-typing items, swapping the correct keys for those select items, and much more. Nothing has done the trick at all. I paste the script here, and the file in case you wish to run so u can see the raw data. I’m so baffled, literally. The only thing I can now think of is something to do with lists, or making more lists or values but maybe I am wrong.

Thank you so much as always, I very much appreciate your help. I made all this script myself lol, and genuinely understand it, just so baffled by why correct output is systematically doing this for i/no responses.

*****************
Press spacebar onces you have read a scenario
Press E for YES or I for no

When a single word is shown, participants must decide whether it is a real word or nonword via E or I keypress
When answer comprehension questions, the same E and I responsea are required.
*****************




*****************
STIMULI
*****************

<item scenario>
/ 1 = "You have been promoted to head the team. You see your new team members are chatting and want to join them. As you walk up to them, you can tell by the look on their faces that you joining them is..."
/ 2 = "You are meeting your partner's friends for the first time tonight. As you chat with them, you can tell from how they are acting that they think your conversation is quite..."
/ 3 = "You have promised your brother to pick up his girlfriend from the airport today. The traffic is bad and you are delayed by an hour. You know that when your brother hears you were late, he will be..."
/ 4 = "You and your friends are trying to choose a film for a movie night. As you suggest a film which you really enjoyed, you see them exchange a look and you know that they think your choice is..."
/ 5 = "You cancel the lunch plan with your cousin due to your schedule, and you know he will be..."
/ 6 = "You have just started a new course and don't yet know many people. You are asked a tricky question by the tutor and you do your best to answer. As you look around the room you see some people smiling and realise the smiles are..."
/ 7 = "You overhear your friend mentioning your name on the phone and they said something that is..."
/ 8 = "As you walk into a new class, you can tell from the way they greet you that they are..."
/ 9 = "Your blind date looks surprised when they see you, you know they feel..."    
/ 10 = "You overhear your friends discussing your outfit. They think it is..."
/ 11 = "Your performance in the play was commented on by the other actors. What they said was very..."
/ 12 = "You buy a wedding gift for your friend. When she sees the gift, you can tell that she is..."
/ 13 = "Your friend asks whether you want to go to a play with them. You can't make the day they suggest. You know that when you tell them, your friend is likely to be..."
/ 14 = "You have found a mistake in your group report. You decide to approach the person who was in charge of that part of the report to talk about the mistake, and as you start to speak, you expect this conversation will be..."
/ 15 = "You overhear your classmates discussing your contribution to the presentation. They say something..."
/ 16 = "You are having a reunion dinner with your old classmates. You expect that seeing them again will be quite..."
/ 17 = "Your new supervisor calls a meeting and asks each of you in turn to say a little about yourself and your area of expertise. After you have finished speaking, you are aware that you've come across..."
/ 18 = "Your teacher provides you with a lot of feedback, most of it is..."
/ 19 = "You wait for your mark in anticipation, feeling a sense of..."
/ 20 = "Your boss asked you to run a project and you think that the workload is quite..."
/ 21 = "The teacher suggests that your child's behaviour must be due to your parenting style as they are behaving so..."
/ 22 = "Your colleague asks your opinion about a difficult issue. You tell them your thoughts and by the expression on their face, you know that your advice was..."
/ 23 = "You recently applied for a work secondment to an interesting project that others are also applying to. You think of your recent performance at work and realise your chance to getting it is relatively..."
/ 24 = "There will be major changes at your company over the next 3 years, and you think that you will be..."
/ 25 = "You are having an interview for some funding that you applied for. During the interview, you present your resume to the committee and you can tell that the committee thinks you are..."
/ 26 = "You are at an interview for your dream job. They ask a tricky question and invite you to share your opinion on the subject. At the end, you can tell by the interviewers' expressions that they thought your answers were..."
/ 27 = "You receive a letter from the university you applied to, it says that you have been..."
/ 28 = "You and a more senior colleague work on a spread sheet together. As she reviews what you have done she tells you that all the details are..."
/ 29 = "You have been working on a bid for more funds for your department. After a month of waiting you find out it has been..."
/ 30 = "You are in an oral test for your French course. The teacher is very thorough and asks you a lot of questions. At the end of the test, you think your grade will be..."
/ 31 = "You have been in a new work environment for two months, and you suddenly realise that your ability to do your role is..."
/ 32 = "You spent a lot of time on a tough course this term. As you login to see your final grade, you suspect all your efforts will have been..."
/ 33 = "You are about to sit an assessment following a trial period in a new job. As you sit down to take the test you are quite sure you will..."
/ 34 = "Your new job has changed your life for the..."
/ 35 = "You have lots of work to do today. After few hours of working, you realise that the speed of your progress has been..."
/ 36 = "Your company is making a few changes to their salary structure. You think that compared to now, you will soon earn..."
/ 37 = "You register for a course. Looking at the reading list for the first module, you realise that the time you have for it will be..."
/ 38 = "You are preparing for your annual work appraisal. You think that passing it will be..."
/ 39 = "You participate in an art competition. When you see the other entrants' work, you think about your own and know that you winning the prize is quite..."
/ 40 = "You overhear someone saying that a child in the nursery has meningitis. That night, you go to check on your toddler and find they are..."
</item>

<item positiveword>
/ 1 = "welcome"
/ 2 = "interesting"
/ 3 = "understanding"
/ 4 = "perfect"
/ 5 = "understanding"
/ 6 = "genuine"
/ 7 = "positive"
/ 8 = "friendly"
/ 9 = "pleased"
/ 10 = "nice"
/ 11 = "encouraging"
/ 12 = "delighted"
/ 13 = "okay"
/ 14 = "fine"
/ 15 = "complimentary"
/ 16 = "enjoyable"
/ 17 = "great"
/ 18 = "positive"
/ 19 = "excitement"
/ 20 = "easy"
/ 21 = "well"
/ 22 = "helpful"
/ 23 = "high"
/ 24 = "promoted"
/ 25 = "qualified"
/ 26 = "good"
/ 27 = "accepted"
/ 28 = "correct"
/ 29 = "approved"
/ 30 = "high"
/ 31 = "improving"
/ 32 = "rewarded"
/ 33 = "pass"
/ 34 = "best"
/ 35 = "fast"
/ 36 = "more"
/ 37 = "sufficient"
/ 38 = "simple"
/ 39 = "likely"
/ 40 = "fine"
</item>

< item comprehension>
/ 1 = "Did you head a team?"
/ 2 = "Did you meet your partner's friends?"
/ 3 = "Did you get there early?"
/ 4 = "Were you choosing a film to watch?"
/ 5 = "Did you plan to have lunch with your friend?"
/ 6 = "Did you answer an easy question?"
/ 7 = "Did you hear your friend mentioning your name?"
/ 8 = "+"
/ 9 = "+"
/ 10 = "+"
/ 11 = "Did you perform in a play?"
/ 12 = "Did you buy a birthday present?"
/ 13 = "Did your friend invite you to a play?"
/ 14 = "+"
/ 15 = "Did you overhear your parents talking about you?"
/ 16 = "Are you going to meet your old classmates?"
/ 17 = "+"
/ 18 = "Did you get lots of comments from your teacher?"
/ 19 = "+"
/ 20 = "+"
/ 21 = "Was your child ill?"
/ 22 = "+"
/ 23 = "Were you the only person who has applied?"
/ 24 = "+"
/ 25 = "+"
/ 26 = "Did you answer some questions in an interview?"
/ 27 = "+"
/ 28 = "Did you work with a junior colleague?"
/ 29 = "Were you applying for funding?"
/ 30 = "Are you taking a Chinese course?"
/ 31 = "+"
/ 32 = "+"
/ 33 = "Did you sit an assessment last week?"
/ 34 = "Did you get a new job?"
/ 35 = "+"
/ 36 = "+"
/ 37 = "+"
/ 38 = "+"
/ 39 = "Were you entering a music competition?"
/ 40 = "Did you check in on your child that night?"
</item>

<text scenario>
/size = (900, 70)
/position = (50, 50)
/halign = center
/ items = scenario
/ select = noreplace
</text>

<text positiveword>
/size = (900, 70)
/position = (50, 50)
/halign = center
/items = positiveword
/ select = text.scenario.currentindex
</text>

<text comprehension>
/size = (900, 70)
/position = (50, 50)
/halign = center
/ items = comprehension
/ select = text.scenario.currentindex
</text>

<text fixation>
/ items = ("+")
/size = (900, 70)
/position = (50, 50)
/halign = center
</text>

*****************
LISTS
*****************
Correct keys refers to the required/correct response for a given comprehension question:
"E" = scancode 18 (yes) includes question items (1,2,4,5,7,11,13,16,18,26,29,34,40)
"I" = scancode 23 (no) includes question items (3,6,12,15,21,23,28,30,33,39)

The portion of scenarios WITHOUT a comprehension question are skipped in trials, and include question items (8,9,10,14,17,19,20,22,24,25,27,31,32,35,36,37,38) - they have been
filled with '50'/no correct key, (50 was taken at random given these trials are skipped)
*****************

<list correctkeys>
/ items = (18, 18, 23, 18, 23, 23, 18, 50, 50, 50, 18, 23, 18, 50, 23, 18, 50, 18, 50, 50, 23, 50, 23, 50, 50, 18, 50, 23, 18, 23, 50, 50, 23, 18, 50, 50, 50, 50, 23, 18)
/ selectionmode = text.comprehension.currentindex
</list>

<list positiveword>
</list>

<list positiveword_correctRT>
</list>

<list overallaccuracy>
</list>

<list overallRT>
</list>

*****************
TRIALS
*****************
<trial fixation>
/ stimulustimes = [0=text.fixation]
/ recorddata = false
/ showmousecursor = false
/ timeout = 800
</trial>

<trial scenario>
/ stimulustimes = [0=text.fixation; 300=text.scenario]
/ correctresponse = (" ")
/ validresponse = (" ")
/ branch = [if(trial.scenario.correct == 1) trial.positiveword]

</trial>

<trial positiveword>
/ pretrialpause = 500
/ stimulusframes = [1=text.positiveword]
/ correctresponse = ("E")
/ validresponse = ("E", "I")
/ showmousecursor = false
/ posttrialpause = 800
/ ontrialend = [
    list.positiveword.insertitem(trial.positiveword.correct, 1);
    list.overallaccuracy.insertitem(trial.positiveword.correct, 1);
    if (trial.positiveword.correct) {
        list.positiveword_correctRT.insertitem(trial.positiveword.latency, 1);
        list.overallRT.insertitem(trial.positiveword.latency, 1);
    };
]
/ branch = [if(trial.positiveword.count >= 0) trial.comprehension]
</trial>

<trial comprehension>
/ stimulusframes = [1=text.comprehension]
/ validresponse = ("E", "I")
/ iscorrectresponse = [trial.comprehension.response == list.correctkeys.nextvalue]
/ skip = [item.comprehension.item(text.scenario.currentindex) == "+";]
</trial>

*****************
BLOCKS
*****************

<block LDT>
/ trials = [1=trial.fixation; 2-40 = noreplace(trial.scenario)]
</block>

*****************
EXPERIMENT
*****************

<expt LDT>
/ blocks = [1=block.LDT]
</expt>

*****************
EXPRESSIONS
*****************
We are defining expressions here in order to collect key summary data further down, such as mean, medians, SD etc. These apply to each of the single-target word types
namely, positive, negative and nonwords.
*****************
<expressions>
/ PropCorrect = list.overallaccuracy.mean
/ MeanRT = list.overallRT.mean
/ STD = list.overallRT.standarddeviation
/ MedianRT = list.overallRT.median

/PropCorrect_Positiveword = list.positiveword.mean
/ MeanRT_Positiveword = list.positiveword_correctRT.mean
/ STD_Positiveword = list.positiveword_correctRT.standarddeviation
/ MedianRT_Positiveword = list.positiveword_correctRT.median
</expressions>

*****************
VALUES
*****************
/completed:                0 = script was not completed; 1 = script was completed (all conditions run)
AUTOMATICALLY UPDATED
*****************
<values>
/completed = 0
</values>

*****************
SUMMARY DATA
*****************
Collect key data based on the expressions above, such as mean, median and SD data from each type of word trial (e.g. positive, negative, mnonword).
Both mean and median have been included. Previous studies (e.g. Feng, Hirsch etc) have opted for median since 'the reaction time medians were used in this study instead of means because
reaction time means are positively skewed and medians are much more insensitive to the skew of the distribution (Baayen & Milin, 2010) and in keeping
with previous research using the LDT task (Hirsch & Mathews, 1997, 2000;
Hirsch, Mathews, Clark, Williams, & Morrison 2003; Hirsch et al., 2006).
*****************
<summarydata>
/columns = (script.startdate, script.starttime, script.subjectid, script.groupid, script.elapsedtime, computer.platform, values.completed,
expressions.PropCorrect, expressions.MeanRT, expressions.STD, expressions.MedianRT,
expressions.PropCorrect_Positiveword, expressions.MeanRT_Positiveword, expressions.STD_Positiveword, expressions.MedianRT_Positiveword)
/ separatefiles = true
</summarydata>

*****************
RAW DATA
*****************
<data>
/separatefiles = true
/ columns = (build, computer.platform, date, time, subject, group, blocknum, blockcode, trialnum, trialcode, response, correct, latency,
stimulusnumber, stimulusitem, stimulusnumber, stimulusitem)
</data>




Try setting

<list correctkeys>
/ items = (18, 18, 23, 18, 23, 23, 18, 50, 50, 50, 18, 23, 18, 50, 23, 18, 50, 18, 50, 50, 23, 50, 23, 50, 50, 18, 50, 23, 18, 23, 50, 50, 23, 18, 50, 50, 50, 50, 23, 18)
/ selectionmode = text.scenario.currentindex
</list>

and that should hopefully do the trick.

It worked! It did indeed do the trick! (I knew it would be a minor correction, argh), I honestly can't thank you enough...
This will be it from me for a good while now lol.

Kindest Regards