Millisecond Forums

Help with a survey - branching and randomization

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

By dpmotto - 3/10/2013

I'm wondering if someone might be able to help me.  I've no experience with the language of programming so have spent quite some time going through the Inquisit 3 Help file and checking this forum.   I'm at a dead end right now.  Here’s
a summary of my project.



All
participants complete a survey of 50 questions/items (all radiobuttons),
read a page of stimulus material (a ‘letter to the editor’), respond (type in
their thoughts about the arguments raised in the letter) on a separate page
(textbox), and then complete 10 further questions.


QUESTIONS --> STIMULUS --> RESPONSE --> QUESTIONS


While
all participants will answer the same set of questions, I’m aiming for
participants to read only one of four different stimulus materials (they are all ‘letters to the
editor’), determined by their responses to a question called ‘beliefs’ – a
radiobuttons item with four options.  Participants
who choose options 1 or 2 will be randomly allocated to read one of two
‘letters’ advocating the same position on an issue but differing with respect
to the author (A1 = expert vs. A2 = novice). 
Participants who choose options 3 or 4 on the beliefs question will likewise be randomly allocated to read one of two ‘letters’ advocating an alternate
position from that of A.  Similarly, B1
represents an expert author, B2 a novice.


QUESTIONS (BELIEF) --> score=1or2--> RANDOM ALLOCATE TO A1 or A2--> RESPONSE--> QUESTIONS


QUESTIONS (BELIEF) --> score=3or4--> RANDOM ALLOCATE TO B1 or B2--> RESPONSE--> QUESTIONS


I
have created an Inquisit script which includes all the questions and stimulus
materials.  It runs, but participants must read all four stimuli.  Obviously that's no good.  The only real obstacle now is the
random allocation issue raised above. 
I’ve read the Help file and surveyed the forum but they leave me confused.  


I've tried: 


/ branch = [if(radiobuttons.beliefs.response<=2) surveypage.???]


Here, the ??? indicates that I want the branch to go some page (I'm guessing that's right) which will then have a 'random allocation' type command to chose between A1 and A2 (I read the HELP information on randomization and pages but that didn't help).


I'm guessing I have to do another 'branch' similar to this to redirect to B1 and B2.  Probably not, but I'm quite confused.



I’m hoping
someone can provide me with some hints as to what I should do next.  Any suggestions would be truly appreciated.



Cheers,


Dom



By Dave - 3/10/2013

<block myblock>
/ trials = [1=mypage]
</block>

<values>
/ version = 0
</values>

<radiobuttons myrb>
/ options = ("1", "2", "3", "4")
</radiobuttons>

<surveypage mypage>
/ questions = [1=myrb]
/ ontrialend = [values.version=noreplace(1,2)]
/ branch = [if(radiobuttons.myrb.response=="1" && values.version==1) surveypage.a1]
/ branch = [if(radiobuttons.myrb.response=="1" && values.version==2) surveypage.a2]
/ branch = [if(radiobuttons.myrb.response=="2" && values.version==1) surveypage.a1]
/ branch = [if(radiobuttons.myrb.response=="2" && values.version==2) surveypage.a2]
/ branch = [if(radiobuttons.myrb.response=="3" && values.version==1) surveypage.b1]
/ branch = [if(radiobuttons.myrb.response=="3" && values.version==2) surveypage.b2]
/ branch = [if(radiobuttons.myrb.response=="4" && values.version==1) surveypage.b1]
/ branch = [if(radiobuttons.myrb.response=="4" && values.version==2) surveypage.b2]
</surveypage>

<surveypage a1>
/ caption = "A1"
</surveypage>

<surveypage a2>
/ caption = "A2"
</surveypage>

<surveypage b1>
/ caption = "B1"
</surveypage>

<surveypage b2>
/ caption = "B2"
</surveypage>

By dpmotto - 3/11/2013

Thanks Dave.  Greatly appreciated.


Cheers,


Dom

By dpmotto - 3/11/2013

Hi Dave.  This question exposes my failure to grasp the big picture of how Inquisit or language programming works but here goes: I understand that a <survey> is a special kind of <block> and that a <surveypage> is a special kind of <trial> (if I'm reading the forum correctly).  So does this mean that my <survey> instructions clash with the <block> instructions that you supplied?  Should one be nested inside the other? I have written up a <survey> according to the tutorial on the Inquisit Help file but when I add the <block> command, it takes precedence and things are looping back and forth and...it's a mess.  How do I marry the two so that participants answer the 50 or so questions (the belief question occurs early on, say number 4) first and then go on to read the stimulus material (as per your script)? Could you suggest an overview that would help me understand these things better?  


Cheers

By Dave - 3/11/2013

You either use <survey> to run pages OR a <block>. You don't do both and you cannot "nest" one within the other.


As for usage instructions, see the tutorials in the documentation which cover both.

By dpmotto - 3/11/2013

Thanks again, Dave.

By dpmotto - 4/10/2013

One further question Dave if I might.  You helped me with the script above.  I'm about to start collecting data but it's occurred to me that I'm not sure that the version of the stimulus material that participants are randomly assigned to is recorded by inquisit in the data file.  I need to know this information for a manipulation check, etc.  There are four possibilities: natexp, natnonexp, humexp, and humnonexp.  What script can I include in "data" to get Inquisit to tell me which version participants viewed?


Cheers,


Dom

By Dave - 4/10/2013

#1: You need to use <block> elements, *not* <survey>, to customize data output.


#2: You can log any property via the <data> element's /columns, such as script.currentexpt.

By ianrt - 4/21/2013

Thanks Dave.  Appreciate your help.  Cheers