Subset to a specific number of samples.
# S3 method for rbiom
slice(.data, ..., .by = NULL, .preserve = FALSE, clone = TRUE)# S3 method for rbiom
slice_head(.data, n, prop, by = NULL, clone = TRUE, ...)
# S3 method for rbiom
slice_tail(.data, n, prop, by = NULL, clone = TRUE, ...)
# S3 method for rbiom
slice_min(
.data,
order_by,
n,
prop,
by = NULL,
with_ties = TRUE,
na_rm = FALSE,
clone = TRUE,
...
)
# S3 method for rbiom
slice_max(
.data,
order_by,
n,
prop,
by = NULL,
with_ties = TRUE,
na_rm = FALSE,
clone = TRUE,
...
)
# S3 method for rbiom
slice_sample(
.data,
n,
prop,
by = NULL,
weight_by = NULL,
replace = FALSE,
clone = TRUE,
...
)
An rbiom object.
An rbiom object, such as from as_rbiom().
For slice(), integer row indexes. For other slice_*()
functions, not used. See dplyr::slice().
<tidy-select> Optionally, a selection of columns to
group by for just this operation, functioning as an alternative to group_by(). For
details and examples, see ?dplyr_by.
Relevant when the .data input is grouped. If .preserve = FALSE (the default), the grouping structure is recalculated based on the
resulting data, otherwise the grouping is kept as is.
Create a copy of biom before modifying. If FALSE, biom
is modified in place as a side-effect. See speed ups for
use cases. Default: TRUE
Provide either n, the number of rows, or prop, the
proportion of rows to select. If neither are supplied, n = 1 will be
used. If n is greater than the number of rows in the group
(or prop > 1), the result will be silently truncated to the group size.
prop will be rounded towards zero to generate an integer number of
rows.
A negative value of n or prop will be subtracted from the group
size. For example, n = -2 with a group of 5 rows will select 5 - 2 = 3
rows; prop = -0.25 with 8 rows will select 8 * (1 - 0.25) = 6 rows.
<data-masking> Variable or
function of variables to order by. To order by multiple variables, wrap
them in a data frame or tibble.
Should ties be kept together? The default, TRUE,
may return more rows than you request. Use FALSE to ignore ties,
and return the first n rows.
Should missing values in order_by be removed from the result?
If FALSE, NA values are sorted to the end (like in arrange()), so
they will only be included if there are insufficient non-missing values to
reach n/prop.
<data-masking> Sampling
weights. This must evaluate to a vector of non-negative numbers the same
length as the input. Weights are automatically standardised to sum to 1.
See the Details section for more technical details regarding these
weights.
Should sampling be performed with (TRUE) or without
(FALSE, the default) replacement.
library(rbiom)
# The last 3 samples in the metadata table.
biom <- slice_tail(hmp50, n = 3)
biom$metadata
# The 3 oldest subjects sampled.
biom <- slice_max(hmp50, Age, n = 3)
biom$metadata
# Pick 3 samples at random.
biom <- slice_sample(hmp50, n = 3)
biom$metadata
Run the code above in your browser using DataLab