Skip to content

Subset in a fixed order

Draw a fresh random subset of items for each participant while presenting the kept items in the order the trial file lists them.

Use this when the item bank is larger than one session should be, but the order the items are written in is part of the instrument rather than a nuisance to randomise away. A graded vocabulary test is the clear case: the items sit in bands, from frequent words down to rare ones, and the test is administered band by band so the participant meets the easy items first and reaches the hard ones warmed up. Giving everyone the same hand-picked items ties the score to your choice of items, and in a study that runs for months online it lets the item set leak, so a fresh draw per session is the right move. But drawing with sample also shuffles what it keeps, and a rare word in the first position changes how the whole test is answered: participants guess sooner, give up earlier, and an item’s difficulty ends up confounded with where it happened to land. select makes the same random draw and then leaves the survivors where you wrote them. When the order genuinely does not matter, sample is the simpler word.

typecontentstimFormatstim1condition1trialOrderkeyboardkeybutton1
instructionsEach screen shows a word and a possible meaning. Press Y if the meaning is right and N if it is wrong.NEXT
testwordcold = low in temperature?frequent1: select 2 condition1y ny
testwordbegin = to start?frequent1y ny
testwordheavy = easy to lift?frequent1y nn
testwordscarce = in short supply?mid1y ny
testwordfragile = easily broken?mid1y ny
testwordample = barely enough?mid1y nn
testwordtruculent = eager to fight?rare1y ny
testwordlaconic = using few words?rare1y ny
testwordperfidious = deeply loyal?rare1y nn

The nine pool rows carry the group tag 1 in trialOrder, and one of them (the first, by convention) carries the group’s program, select 2 condition1. That spec draws 2 rows at random per distinct condition1 value and drops the other tagged rows, so every session runs 6 of the 9 items, 2 from each band, drawn fresh. Every other row of the group takes the bare tag 1.

The difference from sample is entirely in what happens after the draw. sample 2 condition1 would keep the same 2 per band and then shuffle those 6 into a random order; select 2 condition1 keeps them in the order the trial file lists them, so the frequent items still run before the mid ones and the rare ones still come last. Nothing in the spec restates the ladder: the ladder is the file, and select is a promise not to disturb it. Because that promise is the whole point, select refuses to share a group with shuffle, with a structure word such as groupShuffle, or with any ordering constraint. The trial file is rejected when it is saved, with a message that names sample as the word you probably wanted.

condition1 does double duty, as in any per-value draw: it is the column the draw counts by, and it is copied into every results row, so the analysis knows which band each answered item came from without a lookup table. The instructions row leaves trialOrder empty, which keeps it in place ahead of the group.

Each item is one test row with stimFormat set to word, so stim1 is rendered as text instead of being looked up as a file. keyboard limits the response to Y and N, and key names the right answer for each item, so accuracy is scored per item that was actually drawn.

  • Shuffle what you keep after all: 1: select 2 condition1 becomes 1: sample 2 condition1, which makes exactly the same draw and then randomises the order of the survivors. The two words are one draw with two manners, so the choice between them is only ever about presentation.
  • Draw an overall total instead of a fixed number per band: 1: select 4 keeps 4 of the 9 items whatever their condition1 value, still in file order.
  • Thin one band and leave the others whole: 1: select 2 condition1 rare draws 2 of the 3 rare items and keeps every frequent and mid item, so the session runs 8 items.
  • Keep whole bands rather than items inside them: 1: groupSelect 2 condition1 keeps every item of 2 randomly chosen bands, drops the third, and leaves the survivors in file order. 1: groupSample 2 condition1 makes the same choice but presents the two kept bands in a random order.