This helper function constructs a timeline where the order of test elements (or blocks of test elements) is determined at run time.
order_at_run_time(
label,
get_order,
logic,
save_order = function(order, state, ...) save_result(state, label, order)
)
(Character scalar) A label for storing the generated order of test elements.
Function that should accept the arguments state
and ...
.
It will be called at run time, being passed the participant's
state object. It should return a permutation of the integers 1 to N,
where N is the length of the logic
argument.
List where each top-level element corresponds to a randomisation unit. These randomisation units may be either single test elements, lists of test elements, or timelines.
A function called at run time to save the result of get_order
.
It should accept three arguments: order
, state
, and ...
.
order
corresponds to the output of get_order
,
whereas state
corresponds to the participant's state object.
The default setting saves the generated order in psychTestR's
default results repository, under the label label
.
A list of test elements, or equivalently a timeline, which can be combined
with other test elements or timelines.
These test elements will be presented in the order defined by the
get_order
function, with this function being called
afresh for each new participant.
This function can be nested arbitrarily many times.
randomise_at_run_time
for the common application
of randomising the order of test elements anew for each participant.