Skip to contents

Subset an rbiom object by sample names or metadata.

Usage

# S3 method for rbiom
subset(biom, ..., clone = TRUE)

# S3 method for rbiom
[(biom, i)

Arguments

biom

An rbiom object, such as from as_rbiom().

...

Passed on to base::subset().

clone

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

Value

An rbiom object.

See also

Other transformations: mutate(), rarefy(), rarefy_cols(), slice(), with()

Examples

    library(rbiom) 
    
    # Subset to specific samples
    biom <- hmp50[c('HMP20', 'HMP42', 'HMP12')]
    biom$metadata
#> # A tibble: 3 × 5
#>   .sample   Age   BMI `Body Site` Sex   
#>   <chr>   <dbl> <dbl> <fct>       <fct> 
#> 1 HMP20      27    22 Stool       Female
#> 2 HMP42      34    19 Mid vagina  Female
#> 3 HMP12      35    26 Stool       Male  
    
    # Subset according to metadata (using base::subset)
    biom <- subset(hmp50, `Body Site` %in% c('Saliva') & Age < 25)
    biom$metadata
#> # A tibble: 3 × 5
#>   .sample   Age   BMI `Body Site` Sex   
#>   <chr>   <dbl> <dbl> <fct>       <fct> 
#> 1 HMP27      24    30 Saliva      Female
#> 2 HMP28      23    19 Saliva      Female
#> 3 HMP30      24    21 Saliva      Female