AtomicList-utils {IRanges} | R Documentation

## Common operations on AtomicList objects

### Description

Common operations on AtomicList objects.

### Group Generics

AtomicList objects have support for S4 group generic functionality to operate within elements across objects:

`Arith`

  `"+"`, `"-"`, `"*"`, `"^"`, `"%%"`, `"%/%"`, `"/"`

`Compare`

  `"=="`, `">"`, `"<"`, `"!="`, `"<="`, `">="`

`Logic`

  `"&"`, `"|"`

`Ops`

  `"Arith"`, `"Compare"`, `"Logic"`

`Math`

  `"abs"`, `"sign"`, `"sqrt"`, `"ceiling"`, `"floor"`, `"trunc"`, `"cummax"`, `"cummin"`, `"cumprod"`, `"cumsum"`, `"log"`, `"log10"`, `"log2"`, `"log1p"`, `"acos"`, `"acosh"`, `"asin"`, `"asinh"`, `"atan"`, `"atanh"`, `"exp"`, `"expm1"`, `"cos"`, `"cosh"`, `"sin"`, `"sinh"`, `"tan"`, `"tanh"`, `"gamma"`, `"lgamma"`, `"digamma"`, `"trigamma"`

`Math2`

  `"round"`, `"signif"`

`Summary`

  `"max"`, `"min"`, `"range"`, `"prod"`, `"sum"`, `"any"`, `"all"`

`Complex`

  `"Arg"`, `"Conj"`, `"Im"`, `"Mod"`, `"Re"`

See S4groupGeneric for more details.

### Other Methods

The AtomicList objects also support a large number of basic methods. Like the group generics above, these methods perform the corresponding operation on each element of the list separately. The methods are:

Logical

  `!`, `which`, `which.max`, `which.min`

Numeric

  `diff`, `pmax`, `pmax.int`, `pmin`, `pmin.int`, `mean`, `var`, `cov`, `cor`, `sd`, `median`, `quantile`, `mad`, `IQR`

Running Window

  `smoothEnds`, `runmed`. `runmean`, `runsum`, `runwtsum`, `runq`

Character

  `nchar`, `chartr`, `tolower`, `toupper`, `sub`, `gsub`, `startsWith`, `endsWith`

The `which.min` and `which.max` functions have an extra argument, `global=FALSE`, which controls whether the returned subscripts are global (compatible with the unlisted form of the input) or local (compatible with the corresponding list element).

The `rank` method only supports tie methods “average”, “first”, “min” and “max”.

Since `ifelse` relies on non-standard evaluation for arguments that need to be in the generic signature, we provide `ifelse2`, which has eager but otherwise equivalent semantics.

### Specialized Methods

  `unstrsplit(x, sep="")`

: A fast `sapply(x, paste0, collapse=sep)`. See `?unstrsplit` for the details.

### Author(s)

P. Aboyoun

### See Also

- AtomicList objects.

### Examples

    ## group generics
    int1 <- c(1L,2L,3L,5L,2L,8L)
    int2 <- c(15L,45L,20L,1L,15L,100L,80L,5L)
    col1 <- IntegerList(one = int1, int2)
    2 * col1
    col1 + col1
    col1 > 2
    sum(col1)  # equivalent to (but faster than) 'sapply(col1, sum)'
    mean(col1)  # equivalent to 'sapply(col1, mean)'

[Package IRanges version 2.26.0 Index]