Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Split data into groups and apply function

`Y = splitapply(func,X,G)`

`Y = splitapply(func,X1,...,XN,G)`

`Y = splitapply(func,T,G)`

`[Y1,...,YM] = splitapply(___)`

`Y = splitapply(`

splits `func`

,`X`

,`G`

)`X`

into
groups specified by `G`

and applies the function `func`

to
each group. `splitapply`

returns `Y`

as
an array that contains the concatenated outputs from `func`

for
the groups split out of `X`

. The input argument `G`

is
a vector of positive integers that specifies the groups to which corresponding
elements of `X`

belong. If `G`

contains `NaN`

values, `splitapply`

omits
the corresponding values in `X`

when it splits `X`

into
groups. To create `G`

, you can use the `findgroups`

function.

`splitapply`

combines two steps in the Split-Apply-Combine Workflow.

`[Y1,...,YM] = splitapply(___)`

splits
variables into groups and applies `func`

to each
group. `func`

returns multiple output arguments. `Y1,...,YM`

contains
the concatenated outputs from `func`

for the groups
split out of the input data variables. `func`

can
return output arguments that belong to different classes, but the
class of each output must be the same each time `func`

is
called. You can use this syntax with any of the input arguments of
the previous syntaxes.

The number of output arguments from `func`

need
not be the same as the number of input arguments specified by `X1,...,XN`

.

`arrayfun`

| `findgroups`

| `groupsummary`

| `rowfun`

| `unique`

| `varfun`

Was this topic helpful?