Making the correct response to radiobuttons conditional


Author
Message
lachie.kay1
lachie.kay1
Associate Member (54 reputation)Associate Member (54 reputation)Associate Member (54 reputation)Associate Member (54 reputation)Associate Member (54 reputation)Associate Member (54 reputation)Associate Member (54 reputation)Associate Member (54 reputation)Associate Member (54 reputation)
Group: Forum Members
Posts: 6, Visits: 66
Hi all, 

I'm currently trying to create a thought suppression task where, at the beginning of each trial, participants are presented with a word that they have to avoid thinking about.

I'd like to make catch trials where participants have to identify the word they were previously shown, from a list, at the end of the trial (to ensure they are paying attention). At the moment I'm using radiobuttons to achieve this.

On each trial, the word is drawn from a list of items and so the correct radiobutton response on catch trials will be conditional. I'm not sure to to make this happen as radiobutton doesn't have the /iscorrectresponse option.

Here's the relevant parts of the script I have so far:

<item CatchTrialItems>
/1 = "Dog"
/2 = "Cat"
/3 = "Bird"
/4 = "Fish"
/5 = "Horse"
/6 = "Spoon"
/7 = "Table"
/8 = "Chair"
/9 = "Desk"
/10 = "Lamp"
</item>

<text CatchTrialText>
/ items = CatchTrialItems
/ fontstyle = ("Arial", 5%)
/ txcolor = white
/ halign = center
/ valign = center
/ select = noreplacenorepeat
</text>

<text ThoughtSuppInstuctCatch>
/ items = ("Don't think about a <%text.CatchTrialText.currentitem%>")
/ fontstyle = ("Arial", 5%)
/ txcolor = white
/ halign = center
/ valign = center
</text>

<text mask>
/items = ("+")
/ fontstyle = ("Symbol", 12%, false, false, false, false, 5, 1)
/ txcolor = (white)
/txbgcolor = black
/position = (50%, 50%)
/erase = false
</text>

<trial CatchTrial>
/ stimulustimes = [1 = CatchTrialText; 3000 = ThoughtSuppInstuctCatch; 5000 = dummy; 5000 = mask]
/ trialduration = 15000
/ branch = [
    surveypage.catchpage
]
</trial>

<surveypage catchpage>
/questions = [1=catch]
/showpagenumbers = false
/showquestionnumbers = false
/showbackbutton = false
/ fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/ txcolor = (255, 255, 255)
/itemfontstyle = ("Arial", 5%, false, false, false, false, 5, 1)
/responsefontstyle = ("Arial", 3%, false, false, false, false, 5, 1)
/ errormessage = true(Error,800)
/ correctmessage = true(accurate,800)
/ ontrialend = [list.CatchAccuracy.insertitem(surveypage.catch.correct, 1); ]
</surveypage>

<radiobuttons catch>
/ caption = "What object were you not supposed to think about?"
/ options = ("Dog"; "Cat"; "Bird"; "Fish"; "Horse"; "Spoon"; "Table"; "Chair"; "Desk"; "Lamp";)
/ optionvalues = ("1", "2", "3", "4", "5", "6", "7", "8", "9", "10")
/ validresponse = ("1", "2", "3", "4", "5", "6", "7", "8", "9", "10")
/ orientation = vertical
/ required = true        
</radiobuttons>


Any help would be greatly appreciated,
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
lachie.kay1 - 5/1/2020
Hi all, 

I'm currently trying to create a thought suppression task where, at the beginning of each trial, participants are presented with a word that they have to avoid thinking about.

I'd like to make catch trials where participants have to identify the word they were previously shown, from a list, at the end of the trial (to ensure they are paying attention). At the moment I'm using radiobuttons to achieve this.

On each trial, the word is drawn from a list of items and so the correct radiobutton response on catch trials will be conditional. I'm not sure to to make this happen as radiobutton doesn't have the /iscorrectresponse option.

Here's the relevant parts of the script I have so far:

<item CatchTrialItems>
/1 = "Dog"
/2 = "Cat"
/3 = "Bird"
/4 = "Fish"
/5 = "Horse"
/6 = "Spoon"
/7 = "Table"
/8 = "Chair"
/9 = "Desk"
/10 = "Lamp"
</item>

<text CatchTrialText>
/ items = CatchTrialItems
/ fontstyle = ("Arial", 5%)
/ txcolor = white
/ halign = center
/ valign = center
/ select = noreplacenorepeat
</text>

<text ThoughtSuppInstuctCatch>
/ items = ("Don't think about a <%text.CatchTrialText.currentitem%>")
/ fontstyle = ("Arial", 5%)
/ txcolor = white
/ halign = center
/ valign = center
</text>

<text mask>
/items = ("+")
/ fontstyle = ("Symbol", 12%, false, false, false, false, 5, 1)
/ txcolor = (white)
/txbgcolor = black
/position = (50%, 50%)
/erase = false
</text>

<trial CatchTrial>
/ stimulustimes = [1 = CatchTrialText; 3000 = ThoughtSuppInstuctCatch; 5000 = dummy; 5000 = mask]
/ trialduration = 15000
/ branch = [
    surveypage.catchpage
]
</trial>

<surveypage catchpage>
/questions = [1=catch]
/showpagenumbers = false
/showquestionnumbers = false
/showbackbutton = false
/ fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/ txcolor = (255, 255, 255)
/itemfontstyle = ("Arial", 5%, false, false, false, false, 5, 1)
/responsefontstyle = ("Arial", 3%, false, false, false, false, 5, 1)
/ errormessage = true(Error,800)
/ correctmessage = true(accurate,800)
/ ontrialend = [list.CatchAccuracy.insertitem(surveypage.catch.correct, 1); ]
</surveypage>

<radiobuttons catch>
/ caption = "What object were you not supposed to think about?"
/ options = ("Dog"; "Cat"; "Bird"; "Fish"; "Horse"; "Spoon"; "Table"; "Chair"; "Desk"; "Lamp";)
/ optionvalues = ("1", "2", "3", "4", "5", "6", "7", "8", "9", "10")
/ validresponse = ("1", "2", "3", "4", "5", "6", "7", "8", "9", "10")
/ orientation = vertical
/ required = true        
</radiobuttons>


Any help would be greatly appreciated,
Thank you!

You'll have to do something like

/ ontrialend = [if (radiobuttons.catch.response ==  text.catchtrialtext.currentindex) {list.CatchAccuracy.insertitem(1, 1);} else {list.CatchAccuracy.insertitem(0, 1);}; ]

lachie.kay1
lachie.kay1
Associate Member (54 reputation)Associate Member (54 reputation)Associate Member (54 reputation)Associate Member (54 reputation)Associate Member (54 reputation)Associate Member (54 reputation)Associate Member (54 reputation)Associate Member (54 reputation)Associate Member (54 reputation)
Group: Forum Members
Posts: 6, Visits: 66
Works perfectly now, thank you!!
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search