1 %> @ingroup datasettools
3 %> @brief Splits data according to groups. Returns an array of datasets.
6 %> @param data
irdata object
8 %> @return <em>[pieces]</em> or <em>[pieces, map]</em>. @c pieces: array of
irdata objects; @c map cell array of vectors containing the
9 %> indexes of the rows in the original dataset that went to each element of piece.
12 if isempty(data.groupcodes)
13 irerror('Dataset groupcodes is empty, cannot split dataset based on groups!');
16 for i = data.no_groups:-1:1 % Backwards to allocate at once
17 obsmaps{i} = data.get_obsidxs_from_groupidxs(i);
19 out = data.split_map(obsmaps);
24 varargout = {out, obsmaps};
function data_split_groups(in data)