# Randomization question

PennController for IBEX Forums Support Randomization question

Viewing 2 posts - 1 through 2 (of 2 total)
• Author
Posts
• #9647
jefnestorr
Participant

Hi, I was wondering if there is a workaround for a particular type of randomization.
I’m doing a study on humor comprehension. My stimuli are 20 jokes, and every row there is a joke in column 2 and a similarly-structured non-joke in column 3. I want to randomly select 10 rows to present as jokes and 10 rows to present as non-jokes. Then I want to shuffle the order. The last part I understand I can do in sequence, but how would I, in the Template(), make a random set of 10 trials based on column 2 and 10 trials based on column 3?
Thanks
Jeff

#9650
Jeremy
Keymaster

Hi Jeff,

If you know in advance that you want 10 trials to use column 2 (let’s call it “Joke”) and 10 to use column 3 (let’s call it “NonJoke”) you can simply generate an array of 20 entries, half `true` half `false`, shuffle that array and scan it within `Template`:

```Sequence( rshuffle("trial-joke","trial-non-joke") )

var jokings = [...new Array(20)].map((v,i)=>i<10);
fisherYates(jokings);

var joking;
Template( row =>
newTrial( "trial-" + ((joking=jokings.pop()) ? "joke" : "non-joke") ,
newText( "prompt" , ( joking ? row.Joke : row.NonJoke ) ).print()
// ...
)
.log( "joking" , joking )
)```

Jeremy

Viewing 2 posts - 1 through 2 (of 2 total)
• You must be logged in to reply to this topic.