Splits the input to a list according to the tiling window size.

tiler(.x, .size = 1, .bind = FALSE)

ptiler(..., .size = 1, .bind = FALSE)

Arguments

.x

An objects to be split.

.size

An integer for window size. If positive, moving forward from left to right; if negative, moving backward (from right to left).

.bind

If .x is a list or data frame, the input will be flattened to a list of data frames.

...

Multiple objects to be split in parallel.

Examples

x <- 1:5 y <- 6:10 z <- 11:15 lst <- list(x = x, y = y, z = z) df <- as.data.frame(lst) tiler(x, .size = 2)
#> [[1]] #> [1] 1 2 #> #> [[2]] #> [1] 3 4 #> #> [[3]] #> [1] 5 #>
tiler(lst, .size = 2)
#> [[1]] #> [[1]]$x #> [1] 1 2 3 4 5 #> #> [[1]]$y #> [1] 6 7 8 9 10 #> #> #> [[2]] #> [[2]]$z #> [1] 11 12 13 14 15 #> #>
ptiler(lst, .size = 2)
#> [[1]] #> [[1]][[1]] #> [[1]][[1]]$x #> [1] 1 2 3 4 5 #> #> [[1]][[1]]$y #> [1] 6 7 8 9 10 #> #> #> [[1]][[2]] #> [[1]][[2]]$z #> [1] 11 12 13 14 15 #> #> #>
ptiler(list(x, y), list(y))
#> [[1]] #> [[1]][[1]] #> [[1]][[1]][[1]] #> [1] 1 2 3 4 5 #> #> #> [[1]][[2]] #> [[1]][[2]][[1]] #> [1] 6 7 8 9 10 #> #> #> #> [[2]] #> [[2]][[1]] #> [[2]][[1]][[1]] #> [1] 6 7 8 9 10 #> #> #> [[2]][[2]] #> [[2]][[2]][[1]] #> [1] 6 7 8 9 10 #> #> #>
ptiler(df, .size = 2)
#> [[1]] #> [[1]][[1]] #> x y z #> 1 1 6 11 #> 2 2 7 12 #> #> [[1]][[2]] #> x y z #> 3 3 8 13 #> 4 4 9 14 #> #> [[1]][[3]] #> x y z #> 5 5 10 15 #> #>
ptiler(df, df, .size = 2)
#> [[1]] #> [[1]][[1]] #> x y z #> 1 1 6 11 #> 2 2 7 12 #> #> [[1]][[2]] #> x y z #> 3 3 8 13 #> 4 4 9 14 #> #> [[1]][[3]] #> x y z #> 5 5 10 15 #> #> #> [[2]] #> [[2]][[1]] #> x y z #> 1 1 6 11 #> 2 2 7 12 #> #> [[2]][[2]] #> x y z #> 3 3 8 13 #> 4 4 9 14 #> #> [[2]][[3]] #> x y z #> 5 5 10 15 #> #>