23.5 Ragged Inputs and Outputs
The previous examples included rectangular data structures and single
outputs. Despite the name, this is not technically required by
map_rect
.
Ragged Inputs
If each group has a different number of observations, then the rectangular data structures for predictors and outcomes will need to be padded out to be rectangular. In addition, the size of the ragged structure will need to be passed as integer data. This holds for shards with varying numbers of parameters as well as varying numbers of data points.
Ragged Outputs
The output of each mapped function is concatenated in order of inputs
to produce the output of map_rect
. When every shard returns a singleton
(size one) array, the result is the same size as the number of shards
and is easy to deal with downstream. If functions return longer
arrays, they can still be structured using the to_matrix
function if they are rectangular.
If the outputs are of varying sizes, then there will have to be some way to convert it back to a usable form based on the input, because there is no way to directly return sizes or a ragged structure.