combine,RnBSet,RnBSet-method {RnBeads} | R Documentation

## combine-methods

### Description

Combine two objects inheriting from `RnBSet` class

### Usage

    ## S4 method for signature 'RnBSet,RnBSet'
    combine(x, y, type = "all")

### Arguments

`x, y` | `RnBeadSet`, `RnBeadRawSet` or `RnBiseqSet` object
`type` | `character` singleton defining the set operation applied to the two site sets, one of "all", "all.x", "all.y" or "common"

### Details

Combine method supports a merge of any two RnBSet objects that contain data of the same specie. In case a non-synonymous merge is performed, the class conversion will follow the following hierarchy: `RnBeadSet` < `RnBeadRawSet` < `RnBiseqSet`. In case `x` and `y` are both array data containers (`RnBeadSet` or `RnBeadRawSet`), the resulting object will have an annotation that corresponds to the newer array version (`27k` < `450k` < `EPIC`). The sample sets of `x` and `y` should be unique. Sample annotation information is merged only for columns which have identical names in both objects. CpG sites of the new object are a union of those present in both objects.

### Value

combined `RnBeadSet`, `RnBeadRawSet` or `RnBiseqSet` object

### Examples

    library(RnBeads.hg19)
    data(small.example.object)
    r1 <- rnb.set.example
    r1 <- remove.samples(r1,samples(rnb.set.example)[1:5])
    i <- which(r1@sites[,2] == 15 | r1@sites[,2] == 21)
    sites.rem.r1 <- union(sample(1:nrow(meth(rnb.set.example)),500),i)
    r1 <- remove.sites(r1,sites.rem.r1)
    r2 <- rnb.set.example
    r2 <- remove.samples(r2,samples(rnb.set.example)[6:12])
    sites.rem.r2 <- sample(1:nrow(meth(rnb.set.example)),800)
    r2 <- remove.sites(r2,sites.rem.r2)
    rc <- combine(r1,r2)
    #assertion: check the number of sites
    sites.rem.c <- intersect(sites.rem.r1,sites.rem.r2)
    (nrow(meth(rnb.set.example))-length(sites.rem.c)) == nrow(meth(rc))

[Package RnBeads version 2.2.0 Index]