Sub-sample OTU observations such that all samples have an equal number.
If called on data with non-integer abundances, values will be re-scaled to
integers between 1 and depth
such that they sum to depth
.
Arguments
- biom
An rbiom object, such as from
as_rbiom()
. Any value accepted byas_rbiom()
can also be given here.- depth
How many observations to keep per sample. When
0 < depth < 1
, it is taken as the minimum percentage of the dataset's observations to keep. Ignored whenn
is specified. Default:0.1
- n
The number of samples to keep. When
0 < n < 1
, it is taken as the percentage of samples to keep. If negative, that number or percentage of samples is dropped. If0
, all samples are kept. IfNULL
,depth
is used instead. Default:NULL
- seed
An integer seed for randomizing which observations to keep or drop. If you need to create different random rarefactions of the same data, set the seed to a different number each time.
- clone
Create a copy of
biom
before modifying. IfFALSE
,biom
is modified in place as a side-effect. See speed ups for use cases. Default:TRUE
Value
An rbiom object.
See also
Other rarefaction:
rare_corrplot()
,
rare_multiplot()
,
rare_stacked()
,
rarefy_cols()
,
sample_sums()
Other transformations:
modify_metadata
,
rarefy_cols()
,
slice_metadata
,
subset()
,
with()
Examples
library(rbiom)
sample_sums(hmp50) %>% head()
#> HMP01 HMP02 HMP03 HMP04 HMP05 HMP06
#> 1660 1371 1353 1895 3939 4150
biom <- rarefy(hmp50)
sample_sums(biom) %>% head()
#> HMP01 HMP02 HMP03 HMP04 HMP05 HMP06
#> 1183 1183 1183 1183 1183 1183