<!--
{
  "documentType" : "article",
  "framework" : "TabularData",
  "identifier" : "/documentation/TabularData/RowGrouping/RowGroupingProtocol-Implementations",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "RowGroupingProtocol Implementations"
}
-->

# RowGroupingProtocol Implementations

## Topics

### Instance Methods

[`func randomSplit(by: Double, seed: Int?) -> (RowGrouping<GroupingKey>, RowGrouping<GroupingKey>)`](/documentation/TabularData/RowGrouping/randomSplit(by:seed:))

Generates two row groupings by randomly splitting the original with a proportion and a seed number.

[`func summary() -> any GroupSummaries`](/documentation/TabularData/RowGrouping/summary())

Generates a group summaries instance for the columns of the row grouping.

[`func summary(of: [String]) -> any GroupSummaries`](/documentation/TabularData/RowGrouping/summary(of:))

Generates a group summaries instance for the columns you select by name.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)