Use chunk_by_id to split up a data set by the ID column; use
chunk_by_row split a data set by rows.
Usage
chunk_by_id(data, nchunk, id_col = "ID", mark = NULL)
chunk_by_cols(data, nchunk, cols, mark = NULL)
chunk_by_row(data, nchunk, mark = NULL)Arguments
- data
A data frame.
- nchunk
The number of chunks.
- id_col
Character name specifying the column containing the
IDfor chunking.- mark
When populated as a character label, adds a column to the chunked data frames with that name and with value the integer group number.
- cols
A character vector of columns to use for deriving
IDto use for chunking.
Examples
x <- expand.grid(ID = 1:10, B = rev(1:10))
chunk_by_id(x, nchunk = 3)
#> $`1`
#> ID B
#> 1 1 10
#> 2 2 10
#> 3 3 10
#> 4 4 10
#> 11 1 9
#> 12 2 9
#> 13 3 9
#> 14 4 9
#> 21 1 8
#> 22 2 8
#> 23 3 8
#> 24 4 8
#> 31 1 7
#> 32 2 7
#> 33 3 7
#> 34 4 7
#> 41 1 6
#> 42 2 6
#> 43 3 6
#> 44 4 6
#> 51 1 5
#> 52 2 5
#> 53 3 5
#> 54 4 5
#> 61 1 4
#> 62 2 4
#> 63 3 4
#> 64 4 4
#> 71 1 3
#> 72 2 3
#> 73 3 3
#> 74 4 3
#> 81 1 2
#> 82 2 2
#> 83 3 2
#> 84 4 2
#> 91 1 1
#> 92 2 1
#> 93 3 1
#> 94 4 1
#>
#> $`2`
#> ID B
#> 5 5 10
#> 6 6 10
#> 7 7 10
#> 15 5 9
#> 16 6 9
#> 17 7 9
#> 25 5 8
#> 26 6 8
#> 27 7 8
#> 35 5 7
#> 36 6 7
#> 37 7 7
#> 45 5 6
#> 46 6 6
#> 47 7 6
#> 55 5 5
#> 56 6 5
#> 57 7 5
#> 65 5 4
#> 66 6 4
#> 67 7 4
#> 75 5 3
#> 76 6 3
#> 77 7 3
#> 85 5 2
#> 86 6 2
#> 87 7 2
#> 95 5 1
#> 96 6 1
#> 97 7 1
#>
#> $`3`
#> ID B
#> 8 8 10
#> 9 9 10
#> 10 10 10
#> 18 8 9
#> 19 9 9
#> 20 10 9
#> 28 8 8
#> 29 9 8
#> 30 10 8
#> 38 8 7
#> 39 9 7
#> 40 10 7
#> 48 8 6
#> 49 9 6
#> 50 10 6
#> 58 8 5
#> 59 9 5
#> 60 10 5
#> 68 8 4
#> 69 9 4
#> 70 10 4
#> 78 8 3
#> 79 9 3
#> 80 10 3
#> 88 8 2
#> 89 9 2
#> 90 10 2
#> 98 8 1
#> 99 9 1
#> 100 10 1
#>
chunk_by_row(x, nchunk = 4)
#> $`1`
#> ID B
#> 1 1 10
#> 2 2 10
#> 3 3 10
#> 4 4 10
#> 5 5 10
#> 6 6 10
#> 7 7 10
#> 8 8 10
#> 9 9 10
#> 10 10 10
#> 11 1 9
#> 12 2 9
#> 13 3 9
#> 14 4 9
#> 15 5 9
#> 16 6 9
#> 17 7 9
#> 18 8 9
#> 19 9 9
#> 20 10 9
#> 21 1 8
#> 22 2 8
#> 23 3 8
#> 24 4 8
#> 25 5 8
#>
#> $`2`
#> ID B
#> 26 6 8
#> 27 7 8
#> 28 8 8
#> 29 9 8
#> 30 10 8
#> 31 1 7
#> 32 2 7
#> 33 3 7
#> 34 4 7
#> 35 5 7
#> 36 6 7
#> 37 7 7
#> 38 8 7
#> 39 9 7
#> 40 10 7
#> 41 1 6
#> 42 2 6
#> 43 3 6
#> 44 4 6
#> 45 5 6
#> 46 6 6
#> 47 7 6
#> 48 8 6
#> 49 9 6
#> 50 10 6
#>
#> $`3`
#> ID B
#> 51 1 5
#> 52 2 5
#> 53 3 5
#> 54 4 5
#> 55 5 5
#> 56 6 5
#> 57 7 5
#> 58 8 5
#> 59 9 5
#> 60 10 5
#> 61 1 4
#> 62 2 4
#> 63 3 4
#> 64 4 4
#> 65 5 4
#> 66 6 4
#> 67 7 4
#> 68 8 4
#> 69 9 4
#> 70 10 4
#> 71 1 3
#> 72 2 3
#> 73 3 3
#> 74 4 3
#> 75 5 3
#>
#> $`4`
#> ID B
#> 76 6 3
#> 77 7 3
#> 78 8 3
#> 79 9 3
#> 80 10 3
#> 81 1 2
#> 82 2 2
#> 83 3 2
#> 84 4 2
#> 85 5 2
#> 86 6 2
#> 87 7 2
#> 88 8 2
#> 89 9 2
#> 90 10 2
#> 91 1 1
#> 92 2 1
#> 93 3 1
#> 94 4 1
#> 95 5 1
#> 96 6 1
#> 97 7 1
#> 98 8 1
#> 99 9 1
#> 100 10 1
#>