---
title: "stratifiedSplit(on:_:by:randomSeed:)"
framework: tabulardata
role: symbol
role_heading: Instance Method
path: "tabulardata/dataframeprotocol/stratifiedsplit(on:_:by:randomseed:)"
---

# stratifiedSplit(on:_:by:randomSeed:)

Generates two data frames by randomly splitting the rows of two columns, which you select by column identifiers, into strata.

## Declaration

```swift
func stratifiedSplit<T0, T1>(on columnID0: ColumnID<T0>, _ columnID1: ColumnID<T1>, by proportion: Double, randomSeed: Int? = nil) -> (DataFrame, DataFrame) where T0 : Hashable, T1 : Hashable
```

## Parameters

- `columnID0`: A column identifier.
- `columnID1`: Another column identifier.
- `proportion`: A proportion in the range [0.0, 1.0].
- `randomSeed`: A seed number for a random-number generator.

## Return Value

Return Value A tuple of two data frames.

## See Also

### Creating Two Data Frames by Splitting Rows

- [stratifiedSplit(on:by:randomSeed:)](tabulardata/dataframeprotocol/stratifiedsplit(on:by:randomseed:)-9iauf.md)
- [stratifiedSplit(on:by:randomSeed:)](tabulardata/dataframeprotocol/stratifiedsplit(on:by:randomseed:)-8szu1.md)
- [stratifiedSplit(on:by:randomSeed:)](tabulardata/dataframeprotocol/stratifiedsplit(on:by:randomseed:)-714jk.md)
- [stratifiedSplit(on:_:_:by:randomSeed:)](tabulardata/dataframeprotocol/stratifiedsplit(on:_:_:by:randomseed:).md)
