View source: R/verbs_utility.R
| slice_head | R Documentation |
Select first or last rows
slice_head(.data, n = 1L)
slice_tail(.data, n = 1L)
slice_min(.data, order_by, n = 1L, with_ties = TRUE)
slice_max(.data, order_by, n = 1L, with_ties = TRUE)
.data |
A |
n |
Number of rows to select. |
order_by |
Column to order by (for |
with_ties |
If |
When slice_min()/slice_max() follow group_by(), the n smallest/largest
rows are taken within each group and the whole winning row is kept (every
column, including geometry carried as a string). with_ties = FALSE returns
exactly n rows per group; with_ties = TRUE keeps rows tied at the nth
value via min-rank. The n = 1, with_ties = FALSE case streams: it holds
only the running winner per group, so memory scales with the number of groups
(the result size), not the input. Other grouped cases buffer their input.
A vectra_node for slice_head(), for grouped
slice_min()/slice_max(), and for ungrouped slice_min/max(..., with_ties = FALSE). A data.frame for slice_tail() and ungrouped
slice_min/max(..., with_ties = TRUE) (the default), since these must
materialize all rows.
f <- tempfile(fileext = ".vtr")
write_vtr(mtcars, f)
tbl(f) |> slice_head(n = 3) |> collect()
tbl(f) |> slice_min(order_by = mpg, n = 3) |> collect()
tbl(f) |> slice_max(order_by = mpg, n = 3) |> collect()
# earliest row per group, geometry/attrs preserved:
tbl(f) |> group_by(cyl) |> slice_min(mpg, n = 1, with_ties = FALSE) |> collect()
unlink(f)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.