select
Experiments
select tags a subset of test trials as the ones that count toward the debrief “average correct score”. When at least one saved test trial has a non-empty value in select, the end-screen average is computed over ONLY those tagged trials instead of over all test trials. Use it when filler or catch trials would otherwise dilute the score shown to the participant (and the score-based completion-code prefix).
It does NOT select which trials run. Every trial in the file still runs; select only changes which trials feed the score average.
Syntax
Section titled “Syntax”Put 1 in the cell of every test trial that should count toward the debrief score, and leave every other cell empty. The cell’s content is never interpreted: any non-empty value tags the trial.
Options
Section titled “Options”| Value | Behavior |
|---|---|
| empty cell | Trial excluded from the select-average |
any other value (1, yes, x, even 0) | Trial counts toward the select-average. The specific value is irrelevant |
Defaults & missing values
Section titled “Defaults & missing values”With the column absent or every cell left empty, the debrief average is computed over all test trials. As soon as ONE saved test trial anywhere in the run has a select value, the average switches to the tagged subset for the whole experiment.
Works with
Section titled “Works with”- type: only
type=testtrials count.selectonpractice,learnor instruction trials does nothing. - key / scoring: each tagged trial contributes its correct/incorrect result from
keymatching. Tagged trials without akeyhave no correctness value and are silently dropped from the average. - display_score / debrief: the switched average drives the “Average correct score: X%” line when score display is on, and the
j14prefix added to the random completion code when the average exceeds 80%. - feedback screens: a response given while a feedback screen is showing is not saved as a trial, so each real trial counts only once.
- results export: when the column is defined in the CSV, its raw per-trial value is echoed into the results file like any other defined column.
- CFPT trials:
selecton a trial withtest=CFPTis ignored: the trial never counts toward, and never switches on, the select-average.
Examples
Section titled “Examples”| type | stim1 | keyboard | key | select |
|---|---|---|---|---|
| test | target_A | y,n | y | 1 |
| test | filler_1 | y,n | n | |
| test | target_B | y,n | y | 1 |
type,stim1,keyboard,key,select test,target_A,"y,n",y,1 test,filler_1,"y,n",n, test,target_B,"y,n",y,1
The debrief average (and the >80% completion-code prefix) is computed from the two target trials only; the filler trial still runs and is still saved, it just does not count toward the score.
| type | stim1 | keyboard | key | select |
|---|---|---|---|---|
| test | probe | a,b | a | 0 |
type,stim1,keyboard,key,select test,probe,"a,b",a,0
Quirk demonstration: select=0 still TAGS the trial, because any non-empty value counts. With this file the average is computed over the probe trial.
Tips & gotchas
Section titled “Tips & gotchas”- In a run that ends on the very first row of the file (for example a single-trial file), the select-average can be skipped and the plain all-trials average shown instead, even though tagged trials exist.
- If none of the tagged trials produced a usable correctness value, the debrief shows 0%.
- Do not confuse the
selectcolumn withblock.select(...)in therulescolumn; that is an unrelated block-picking rule. - The cell does not hold a condition: an expression such as
subjectGroup==1is not evaluated for conditional trial inclusion; it simply tags the trial like any other value. - Do not put
#listName#tokens in this column unless you want dynamic-list expansion: a#...#token registers the trial for duplication per list value, on top of tagging it. - A
trialOrderspec can name ANY column, this one included (e.g.1: sample 10 select). That is a general any-column mechanism; the score-tagging behavior documented above is unchanged.