Choose rows in a data.table. Grouped data.tables grab rows within each group.
slice_tail.(.df, n = 5, ..., .by = NULL, by = NULL)
A data.frame or data.table
Number of rows to grab
Integer row values
Columns to group by
df <- data.table(
x = 1:4,
y = 5:8,
z = c("a", "a", "a", "b")
)
df %>%
slice(1:3)
#> # A tidytable: 3 × 3
#> x y z
#> <int> <int> <chr>
#> 1 1 5 a
#> 2 2 6 a
#> 3 3 7 a
df %>%
slice(1, 3)
#> # A tidytable: 2 × 3
#> x y z
#> <int> <int> <chr>
#> 1 1 5 a
#> 2 3 7 a
df %>%
slice(1:2, .by = z)
#> # A tidytable: 3 × 3
#> x y z
#> <int> <int> <chr>
#> 1 1 5 a
#> 2 2 6 a
#> 3 4 8 b
df %>%
slice_head(1, .by = z)
#> # A tidytable: 2 × 3
#> x y z
#> <int> <int> <chr>
#> 1 1 5 a
#> 2 4 8 b
df %>%
slice_tail(1, .by = z)
#> # A tidytable: 2 × 3
#> x y z
#> <int> <int> <chr>
#> 1 3 7 a
#> 2 4 8 b
df %>%
slice_max(order_by = x, .by = z)
#> # A tidytable: 2 × 3
#> x y z
#> <int> <int> <chr>
#> 1 4 8 b
#> 2 3 7 a
df %>%
slice_min(order_by = y, .by = z)
#> # A tidytable: 2 × 3
#> x y z
#> <int> <int> <chr>
#> 1 1 5 a
#> 2 4 8 b