Combine Two Composition Matrices

## Usage

``````# S4 method for class 'CompositionMatrix,CompositionMatrix'
rbind2(x, y)``````

## Arguments

x, y

A `CompositionMatrix` object.

## Value

A `CompositionMatrix` objects.

## Details

`rbind2()` combine by rows.

Other subsetting methods: `extract()`, `split()`, `subset()`

N. Frerebeau

## Examples

``````## Create a data.frame
X <- data.frame(
samples = c("A", "A", "A", "B", "B", "B", "C", "C", "C"),
groups = c("X", "X", "X", "X", NA, NA, "Y", "Y", "Y"),
Ca = c(7.72, 7.32, 3.11, 7.19, 7.41, 5, 4.18, 1, 4.51),
Fe = c(6.12, 5.88, 5.12, 6.18, 6.02, 7.14, 5.25, 5.28, 5.72),
Na = c(0.97, 1.59, 1.25, 0.86, 0.76, 0.51, 0.75, 0.52, 0.56)
)

## Coerce to a compositional matrix
Y <- as_composition(X)

## Split by group
## /!\ Unassigned samples are discarded ! /!\
(s1 <- split(Y, f = X\$groups))
#> \$X
#> <CompositionMatrix: 4 x 3>
#>           Ca        Fe         Na
#> S1 0.5212694 0.4132343 0.06549629
#> S2 0.4949290 0.3975659 0.10750507
#> S3 0.3280591 0.5400844 0.13185654
#> S4 0.5052706 0.4342937 0.06043570
#>
#> \$Y
#> <CompositionMatrix: 3 x 3>
#>           Ca        Fe         Na
#> S7 0.4106090 0.5157171 0.07367387
#> S8 0.1470588 0.7764706 0.07647059
#> S9 0.4179796 0.5301205 0.05189991
#>

## Split by group
## Keep unassigned samples, see help(factor)
(s2 <- split(Y, f = factor(X\$groups, exclude = NULL)))
#> \$X
#> <CompositionMatrix: 4 x 3>
#>           Ca        Fe         Na
#> S1 0.5212694 0.4132343 0.06549629
#> S2 0.4949290 0.3975659 0.10750507
#> S3 0.3280591 0.5400844 0.13185654
#> S4 0.5052706 0.4342937 0.06043570
#>
#> \$Y
#> <CompositionMatrix: 3 x 3>
#>           Ca        Fe         Na
#> S7 0.4106090 0.5157171 0.07367387
#> S8 0.1470588 0.7764706 0.07647059
#> S9 0.4179796 0.5301205 0.05189991
#>
#> \$<NA>
#> <CompositionMatrix: 2 x 3>
#>           Ca        Fe         Na
#> S5 0.5221987 0.4242424 0.05355884
#> S6 0.3952569 0.5644269 0.04031621
#>

## Bind by rows
do.call(rbind, s2)
#> <CompositionMatrix: 9 x 3>
#>           Ca        Fe         Na
#> S1 0.5212694 0.4132343 0.06549629
#> S2 0.4949290 0.3975659 0.10750507
#> S3 0.3280591 0.5400844 0.13185654
#> S4 0.5052706 0.4342937 0.06043570
#> S7 0.4106090 0.5157171 0.07367387
#> S8 0.1470588 0.7764706 0.07647059
#> S9 0.4179796 0.5301205 0.05189991
#> S5 0.5221987 0.4242424 0.05355884
#> S6 0.3952569 0.5644269 0.04031621
``````