Millisecond Forums

Branching

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

By cmdunbar - 10/20/2010

Hello, I am attempting to use the branching element for a questionnaire in Inquisit 2.0. The block design for the first item is below. The goal here is that participants will answer the first item (sre1) and if sre1 hasn't occurred they will move on to sre2. But if sre1 has occurred, they will answer 5 additional items (stress, harm, control, cope, and impact). They do this for 17 different situations. So, everything seemed to be working great, but then I noticed something: when response option 1 (hasn't occurred) is selected, that question comes up again later. Participants cannot move on to the rest of the experiment until they select 2 or above for each of the 17 items. Obviously, this is not what we want. How can we fix this?


Also, the 5 additional items are not in a block together because the anchors for each item are different, so they are each a block themselves. I don't know a way to branch multiple items, so I have this chain thing going on where stress goes to harm, harm goes to control, and so on. I don't know if this is the simplest way, but it's what I have so far.


Thanks for your help!


Cheyenne



<block sre1>
/ trials = [1=sre1]
/ branch = (block.sre1.response, EQ, 1, sre2)
/ branch = (block.sre1.response, EQ, 2, stress1)
/ branch = (block.sre1.response, EQ, 3, stress1)
/ branch = (block.sre1.response, EQ, 4, stress1)
/ branch = (block.sre1.response, EQ, 5, stress1)
/ branch = (block.sre1.response, EQ, 6, stress1)
/ bgstim = (yearop)
</block>

<block stress1>
/ trials = [1=stress1]
/ branch = (block.stress1.response, EQ, 1, harm1)
/ branch = (block.stress1.response, EQ, 2, harm1)
/ branch = (block.stress1.response, EQ, 3, harm1)
/ branch = (block.stress1.response, EQ, 4, harm1)
/ branch = (block.stress1.response, EQ, 5, harm1)
/ branch = (block.stress1.response, EQ, 6, harm1)
</block>

<block harm1>
/ trials = [1=harm1]
/ branch = (block.harm1.response, EQ, 1, control1)
/ branch = (block.harm1.response, EQ, 2, control1)
/ branch = (block.harm1.response, EQ, 3, control1)
/ branch = (block.harm1.response, EQ, 4, control1)
/ branch = (block.harm1.response, EQ, 5, control1)
/ branch = (block.harm1.response, EQ, 6, control1)
</block>

<block control1>
/trials = [1=control1]
/ branch = (block.control1.response EQ, 1, cope1)
/ branch = (block.control1.response EQ, 2, cope1)
/ branch = (block.control1.response EQ, 3, cope1)
/ branch = (block.control1.response EQ, 4, cope1)
/ branch = (block.control1.response EQ, 5, cope1)
/ branch = (block.control1.response EQ, 6, cope1)
</block>

<block cope1>
/ trials = [1=cope1]
/ branch = (block.cope1.response EQ, 1, impact1)
/ branch = (block.cope1.response EQ, 2, impact1)
/ branch = (block.cope1.response EQ, 3, impact1)
/ branch = (block.cope1.response EQ, 4, impact1)
/ branch = (block.cope1.response EQ, 5, impact1)
/ branch = (block.cope1.response EQ, 6, impact1)
</block>

<block impact1>
/ trials = [1=impact1]
</block>

By Dave - 10/20/2010

Most likely, there's a flaw somewhere in your branching logic in that it's either circular and/or incomplete (i.e. doesn't cover all necessary cases). Anyway, the snippets you posted are insufficient to identify where the error is located. Get a nice cup of coffee or tea and review the full script thouroughly...:-)


~Dave