How to randomly present only the first two choices/options in a multiple choice question?


Author
Message
sodagreen_l
sodagreen_l
Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)
Group: Forum Members
Posts: 15, Visits: 29
Hi, I am trying to present a multiple choice question, where I want the order of the first two options to be randomized, and the last option is always "I don't remember."

Please refer to the below for my code, thanks in advance :)

<radiobuttons nomind_memorycheck_brandnew>
/ caption="Which of the following adjectives was used to describe the group, <%text.targetname1.currentitem%>?"
/ options = ("brand-new","worn-out","I don't remember")
/ validresponse = ("brand-new","worn-out","I don't remember")
/ correctresponse = ("brand-new")
/ order = random
/ orientation = vertical
</radiobuttons>
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
sodagreen_l - 2/19/2022
Hi, I am trying to present a multiple choice question, where I want the order of the first two options to be randomized, and the last option is always "I don't remember."

Please refer to the below for my code, thanks in advance :)

<radiobuttons nomind_memorycheck_brandnew>
/ caption="Which of the following adjectives was used to describe the group, <%text.targetname1.currentitem%>?"
/ options = ("brand-new","worn-out","I don't remember")
/ validresponse = ("brand-new","worn-out","I don't remember")
/ correctresponse = ("brand-new")
/ order = random
/ orientation = vertical
</radiobuttons>

That's not possible with radiobuttons.

sodagreen_l
sodagreen_l
Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)
Group: Forum Members
Posts: 15, Visits: 29
I see, do you have any idea about what other elements or approaches that I can use to achieve this goal? Or this is simply not possible for inquisit? Since I am fairly new to inquisit, any feedback would be very helpful.
Thank you
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
sodagreen_l - 2/28/2022
I see, do you have any idea about what other elements or approaches that I can use to achieve this goal? Or this is simply not possible for inquisit? Since I am fairly new to inquisit, any feedback would be very helpful.
Thank you

You can use standard text and trial elements:
<trial memorycheck>
/ ontrialbegin = [
    text.correctoption.vposition = list.vpos.nextvalue;
    text.wrongoption.vposition = list.vpos.nextvalue;
]

/ stimulusframes = [1=clearscreen, question, correctoption, wrongoption, donotremember]
/ inputdevice = mouse
/ validresponse = (correctoption, wrongoption, donotremember)
/ correctresponse = (correctoption)
</trial>

<list vpos>
/ items = (30%, 40%)
/ selectionrate = always
</list>

<text question>
/ items = ("Which of the following adjectives was used to describe the group...?")
/ position = (50%, 15%)
</text>

<text correctoption>
/ items = ("brand-new")
/ hposition = 50%
</text>

<text wrongoption>
/ items = ("worn-out")
/ hposition = 50%
</text>

<text donotremember>
/ items = ("I don't remember")
/ hposition = 50%
/ vposition = 50%
</text>

<block myblock>
/ trials = [1-2 = memorycheck]

</block>


Edited 2 Years Ago by Dave
sodagreen_l
sodagreen_l
Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)Associate Member (199 reputation)
Group: Forum Members
Posts: 15, Visits: 29
Dave - 2/28/2022
sodagreen_l - 2/28/2022
I see, do you have any idea about what other elements or approaches that I can use to achieve this goal? Or this is simply not possible for inquisit? Since I am fairly new to inquisit, any feedback would be very helpful.
Thank you

You can use standard text and trial eleme
<trial memorycheck>
/ ontrialbegin = [
    text.correctoption.vposition = list.vpos.nextvalue;
    text.wrongoption.vposition = list.vpos.nextvalue;
]

/ stimulusframes = [1=clearscreen, question, correctoption, wrongoption, donotremember]
/ inputdevice = mouse
/ validresponse = (correctoption, wrongoption, donotremember)
/ correctresponse = (correctoption)
</trial>

<list vpos>
/ items = (30%, 40%)
/ selectionrate = always
</list>

<text question>
/ items = ("Which of the following adjectives was used to describe the group...?")
/ position = (50%, 15%)
</text>

<text correctoption>
/ items = ("brand-new")
/ hposition = 50%
</text>

<text wrongoption>
/ items = ("worn-out")
/ hposition = 50%
</text>

<text donotremember>
/ items = ("I don't remember")
/ hposition = 50%
/ vposition = 50%
</text>

<block myblock>
/ trials = [1-2 = memorycheck]

</block>

nts.

This works perfectly!! Thank you Dave :)
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search