Split an array by .margins.
Split a 2d or higher data structure into lower-d pieces based
splitter_a(data, .margins = 1L, .expand = TRUE, .id = NA)
data |
>1d data structure (matrix, data.frame or array) |
.margins |
a vector giving the subscripts to split up |
.expand |
if splitting a dataframe by row, should output be 1d (expand = FALSE), with an element for each row; or nd (expand = TRUE), with a dimension for each variable. |
.id |
names of the split label.
Pass |
This is the workhorse of the a*ply
functions. Given a >1 d
data structure (matrix, array, data.frame), it splits it into pieces
based on the subscripts that you supply. Each piece is a lower dimensional
slice.
The margins are specified in the same way as apply
, but
splitter_a
just splits up the data, while apply
also
applies a function and combines the pieces back together. This function
also includes enough information to recreate the split from attributes on
the list of pieces.
a list of lower-d slices, with attributes that record split details
Other splitter functions:
splitter_d()
plyr:::splitter_a(mtcars, 1) plyr:::splitter_a(mtcars, 2) plyr:::splitter_a(ozone, 2) plyr:::splitter_a(ozone, 3) plyr:::splitter_a(ozone, 1:2)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.