Reply To: Pick out items after randomization

PennController for IBEX Forums Support Pick out items after randomization Reply To: Pick out items after randomization

#9648
Jeremy
Keymaster

Hi,

If you are not familiar with the way (PC)Ibex offers control over the sequence of trials, I recommend reading the PCIbex documentation on labels and the original IBEX manual

In your case, all you need to do to get 1+2 is properly label the trials so you can reference them appropriately in predicates (randomize) in the Sequence command:

Template( row =>
  newTrial( row.Condition+"_Set"+row.Set ,
    // etc.

Sequence( randomize(startsWith("Short")) , randomize(startsWith("Long")) )

Mixing fillers in is more complex if you have a single set of fillers that should be distributed across the “Short” and “Long” trials. If you know in advance how many filler trials you’ll have (say, 40) you could use the custom pick function to randomly pick half (20) of those trials and mix them in with the “Short” trials, and mix the other half in with the “Long” trials:

fillers = randomize("Filler") // assuming all your filler trials are labeled "Filler"

Sequence(
  rshuffle( startsWith("Short") , pick(fillers,20) ),
  rshuffle( startsWith("Long")  , pick(fillers,20) )
)

Jeremy

  • This reply was modified 2 years, 1 month ago by Jeremy. Reason: added missing closing parentheses