Millisecond Forums

Matching survey pages

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

By KoenD - 9/26/2016

Hello forum users,
I hope I can get some advice on the following issue.
I plan to conduct a study in which I ask participants to judge two versions of a number of scenarios (e.g., version - and version +).
I would like to have the design as follows: First three scenarios out of 20 are presented in a random order. Next each specific counterpart is presented in a random order (e.g. [A+,B-, C+] [A-, B+, C-]). In order to do so it is necessary to be able to match the survey pages. Is this possible in inquisit?
Thank you for your help.
Best, Koen
By Dave - 9/27/2016

Yes, this can be done using <list>s. Here's an example with 2 out of 4 scenarios selected at random in the 1st block, and then their counterparts being shown in the 2nd block.

<expt>
/ blocks = [1=scenarios; 2=counterparts]
</expt>

<block scenarios>
/ trials = [1-2 = noreplace(a,b,c,d)]
</block>

<block counterparts>
/ trials = [1-2 = list.counterparttrials]
</block>

//will be filled at runtime
<list counterparttrials>
</list>

<trial a>
/ ontrialend = [if (script.currentblock == "scenarios") list.counterparttrials.appenditem(trial.a)]
/ branch = [list.a_scenarios.nextvalue]
/ recorddata = false
/ trialduration = 0
</trial>

<list a_scenarios>
/ items = (surveypage.a_plus, surveypage.a_minus)
</list>

<surveypage a_plus>
/ caption = "A +"
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<surveypage a_minus>
/ caption = "A -"
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<trial b>
/ ontrialend = [if (script.currentblock == "scenarios") list.counterparttrials.appenditem(trial.b)]
/ branch = [list.b_scenarios.nextvalue]
/ recorddata = false
/ trialduration = 0
</trial>

<list b_scenarios>
/ items = (surveypage.b_plus, surveypage.b_minus)
</list>

<surveypage b_plus>
/ caption = "B +"
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<surveypage b_minus>
/ caption = "B -"
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<trial c>
/ ontrialend = [if (script.currentblock == "scenarios") list.counterparttrials.appenditem(trial.c)]
/ branch = [list.c_scenarios.nextvalue]
/ recorddata = false
/ trialduration = 0
</trial>

<list c_scenarios>
/ items = (surveypage.c_plus, surveypage.c_minus)
</list>

<surveypage c_plus>
/ caption = "C +"
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<surveypage c_minus>
/ caption = "C -"
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<trial d>
/ ontrialend = [if (script.currentblock == "scenarios") list.counterparttrials.appenditem(trial.d)]
/ branch = [list.d_scenarios.nextvalue]
/ recorddata = false
/ trialduration = 0
</trial>

<list d_scenarios>
/ items = (surveypage.d_plus, surveypage.d_minus)
</list>

<surveypage d_plus>
/ caption = "D +"
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<surveypage d_minus>
/ caption = "D -"
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>
By KoenD - 9/27/2016

Thank you for your response, i'll give it a try.
Best, Koen