snp.cbind {chopsticks} | R Documentation

## Bind together two or more snp.matrix objects

### Description

These functions bind together two or more objects of class `"snp.matrix"` or `"X.snp.matrix"`.

### Usage

    snp.cbind(...)
    snp.rbind(...)

### Arguments

`...` | Objects of class `"snp.matrix"` or `"X.snp.matrix"`.

### Details

These functions reproduce the action of the standard functions `cbind` and `rbind`. These are constrained to work by recursive calls to the generic functions `cbind2` and `rbind2` which take just two arguments. This is somewhat inefficient in both time and memory use when binding more than two objects, so the functions `snp.cbind` and `snp.rbind`, which take multiple arguments, are also supplied.

When matrices are bound together by column, row names must be identical, column names must not be duplicated and, for objects of class `X.snp.matrix` the contents of the `Female` slot much match. When matrices are bound by row, column names must be identical. and duplications of row names generate warnings.

### Value

A new matrix, of the same type as the input matrices.

### Author(s)

David Clayton david.clayton@cimr.cam.ac.uk

### See Also

`cbind`, `rbind`

### Examples

    data(testdata)
    # subsetting ( Autosomes[c(1:9,11:19,21:29),] ) is quicker. this is just for illustrating
    # rbind and cbind
    first <- Autosomes[1:9,]
    second <- Autosomes[11:19,]
    third <- Autosomes[21:29,]
    result1 <- rbind(first, second, third)
    result2 <- snp.rbind(first, second, third)
    all.equal(result1, result2)

    result3 <- Autosomes[c(1:9,11:19,21:29),]
    all.equal(result1, result3)

    first <- Autosomes[,1:9]
    second <- Autosomes[,11:19]
    third <- Autosomes[,21:29]
    result1 <- cbind(first, second, third)
    result2 <- snp.cbind(first, second, third)
    all.equal(result1, result2)

    result3 <- Autosomes[,c(1:9,11:19,21:29)]
    all.equal(result1, result3)

    first <- Xchromosome[1:9,]
    second <- Xchromosome[11:19,]
    third <- Xchromosome[21:29,]
    result1 <- rbind(first, second, third)
    result2 <- snp.rbind(first, second, third)
    all.equal(result1, result2)

    result3 <- Xchromosome[c(1:9,11:19,21:29),]
    all.equal(result1, result3)

    first <- Xchromosome[,1:9]
    second <- Xchromosome[,11:19]
    third <- Xchromosome[,21:29]
    result1 <- cbind(first, second, third)
    result2 <- snp.cbind(first, second, third)
    all.equal(result1, result2)

    result3 <- Xchromosome[,c(1:9,11:19,21:29)]
    all.equal(result1, result3)

[Package chopsticks version 1.48.0 Index]