Randomizing Limited Radiobutton Options


Author
Message
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
Dave - 2/22/2022
emoe - 2/22/2022
emoe - 2/22/2022
Hi again,
Participants are completing 2 of these blocks. If I try run the experiment twice, the second time the block is presented none of the options show up. Is there a way to reset the skips/present the same block twice?

Also, is there a strikeout feature instead of an option disappearing completely off the screen once it has been selected?

If there is no strikeout option, is there a way to keep the stimuli on the screen, but after they press on it once they cannot select it again? Like removing it as a valid response? The rationale is that we'd like to have each trial look the same.

The script already does that.

Also, I didn't say the option cannot be striked out.

<list options>
/ items = ("option a", "option b", "option c", "option d", "option e","option f", "option g", "option h")
/ selectionrate = always
</list>

<values>
/ pair1a = ""
/ pair1b = ""
/ pair1apassage = 1
/ pair1bpassage = 1
</values>

<list pair1responses>
</list>

<expt>
/ onexptbegin = [
values.pair1a = list.options.nextvalue;
values.pair1apassage = list.options.currentindex;
values.pair1b = list.options.nextvalue;
values.pair1bpassage = list.options.currentindex;
]
/ blocks = [1=exampleblock]
</expt>

<block exampleblock>
/ onblockbegin = [
    list.pair1responses.reset();
]

/ trials = [1-2=pair1trial]
</block>

<trial pair1trial>
/ ontrialend = [
list.pair1responses.appenditem(trial.pair1trial.response);
]
/ stimulusframes = [1=click, pair1a, pair1b]
/ inputdevice = mouse
/ validresponse = (pair1a, pair1b)
/ isvalidresponse = [
list.pair1responses.indexof(trial.pair1trial.response) == -1;
]
/ branch = [
if (trial.pair1trial.response == "pair1a") {
        values.pair1a = concat(concat("<s>", values.pair1a), "</s>");
return surveypage.pair1a_follow_up;
} else if (trial.pair1trial.response == "pair1b") {
        values.pair1b = concat(concat("<s>", values.pair1b), "</s>");
return surveypage.pair1b_follow_up;
};
]
</trial>

<text click>
/ items = ("Click on one of the below options:")
/ position = (50%, 10%)
</text>

<text pair1a>
/ items = ("<%values.pair1a%>")
/ position = (50%, 30%)
</text>

<text pair1b>
/ items = ("<%values.pair1b%>")
/ position = (50%, 40%)
</text>

<surveypage pair1a_follow_up>
/ subcaption = "<%item.passages.item(values.pair1apassage)%>"
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<surveypage pair1b_follow_up>
/ subcaption = "<%item.passages.item(values.pair1bpassage)%>"
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<item passages>
/ 1 = "Passage pertaining to Option A"
/ 2 = "Passage pertaining to Option B"
/ 3 = "Passage pertaining to Option C"
/ 4 = "Passage pertaining to Option D"
/ 5 = "Passage pertaining to Option E"
/ 6 = "Passage pertaining to Option F"
/ 7 = "Passage pertaining to Option G"
/ 8 = "Passage pertaining to Option H"
</item>

emoe
emoe
Associate Member (72 reputation)Associate Member (72 reputation)Associate Member (72 reputation)Associate Member (72 reputation)Associate Member (72 reputation)Associate Member (72 reputation)Associate Member (72 reputation)Associate Member (72 reputation)Associate Member (72 reputation)
Group: Forum Members
Posts: 6, Visits: 23
Dave - 2/22/2022
emoe - 2/22/2022
Hi again,
Participants are completing 2 of these blocks. If I try run the experiment twice, the second time the block is presented none of the options show up. Is there a way to reset the skips/present the same block twice?

Also, is there a strikeout feature instead of an option disappearing completely off the screen once it has been selected?

> the second time the block is presented none of the options show up. Is there a way to reset the skips/present the same block twice?

You need to set the text elements' skip properties back to false again /onblockbegin.



Hi Dave,

I was able to use this successfully for one condition (where I present all 8 choices at once). However, when I try to apply it to the other condition (2 paired choices are presented at a time), the strike through is still there when I go to run this second condition another time. How do I allow people to redo the paired version again while keeping the same original pairings? I hope that makes sense. If not, please let me know and I can try to rephrase.

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
emoe - 2/23/2022
Dave - 2/22/2022
emoe - 2/22/2022
Hi again,
Participants are completing 2 of these blocks. If I try run the experiment twice, the second time the block is presented none of the options show up. Is there a way to reset the skips/present the same block twice?

Also, is there a strikeout feature instead of an option disappearing completely off the screen once it has been selected?

> the second time the block is presented none of the options show up. Is there a way to reset the skips/present the same block twice?

You need to set the text elements' skip properties back to false again /onblockbegin.



Hi Dave,

I was able to use this successfully for one condition (where I present all 8 choices at once). However, when I try to apply it to the other condition (2 paired choices are presented at a time), the strike through is still there when I go to run this second condition another time. How do I allow people to redo the paired version again while keeping the same original pairings? I hope that makes sense. If not, please let me know and I can try to rephrase.

Thank you.

You obviously need to revert the strikethrough at the start of the block.

<list options>
/ items = ("option a", "option b", "option c", "option d", "option e","option f", "option g", "option h")
/ selectionrate = always
</list>

<values>
/ pair1a = ""
/ pair1b = ""
/ pair1apassage = 1
/ pair1bpassage = 1
</values>

<list pair1responses>
</list>

<expt>
/ onexptbegin = [
values.pair1a = list.options.nextvalue;
values.pair1apassage = list.options.currentindex;
values.pair1b = list.options.nextvalue;
values.pair1bpassage = list.options.currentindex;
]
/ blocks = [1-2=exampleblock]
</expt>

<block exampleblock>
/ onblockbegin = [
list.pair1responses.reset();
    values.pair1a = replaceall(values.pair1a, "<s>", "");
    values.pair1a = replaceall(values.pair1a, "</s>", "");
    values.pair1b = replaceall(values.pair1b, "<s>", "");
    values.pair1b = replaceall(values.pair1b, "</s>", "");
]

/ trials = [1-2=pair1trial]
</block>

<trial pair1trial>
/ ontrialend = [
list.pair1responses.appenditem(trial.pair1trial.response);
]
/ stimulusframes = [1=click, pair1a, pair1b]
/ inputdevice = mouse
/ validresponse = (pair1a, pair1b)
/ isvalidresponse = [
list.pair1responses.indexof(trial.pair1trial.response) == -1;
]
/ branch = [
if (trial.pair1trial.response == "pair1a") {
values.pair1a = concat(concat("<s>", values.pair1a), "</s>");
return surveypage.pair1a_follow_up;
} else if (trial.pair1trial.response == "pair1b") {
values.pair1b = concat(concat("<s>", values.pair1b), "</s>");
return surveypage.pair1b_follow_up;
};
]
</trial>

<text click>
/ items = ("Click on one of the below options:")
/ position = (50%, 10%)
</text>

<text pair1a>
/ items = ("<%values.pair1a%>")
/ position = (50%, 30%)
</text>

<text pair1b>
/ items = ("<%values.pair1b%>")
/ position = (50%, 40%)
</text>

<surveypage pair1a_follow_up>
/ subcaption = "<%item.passages.item(values.pair1apassage)%>"
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<surveypage pair1b_follow_up>
/ subcaption = "<%item.passages.item(values.pair1bpassage)%>"
/ showpagenumbers = false
/ showquestionnumbers = false
</surveypage>

<item passages>
/ 1 = "Passage pertaining to Option A"
/ 2 = "Passage pertaining to Option B"
/ 3 = "Passage pertaining to Option C"
/ 4 = "Passage pertaining to Option D"
/ 5 = "Passage pertaining to Option E"
/ 6 = "Passage pertaining to Option F"
/ 7 = "Passage pertaining to Option G"
/ 8 = "Passage pertaining to Option H"
</item>


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search