AtomicList {IRanges} | R Documentation

## Lists of Atomic Vectors in Natural and Rle Form

### Description

An extension of `TypedList` that holds only atomic vectors in either a natural or run-length encoded form.

### Details

The lists of atomic vectors are `LogicalList`, `IntegerList`, `NumericList`, `ComplexList`, `CharacterList`, and `RawList`. There is also an `RleList` class for run-length encoded versions of these atomic vector types.

### Constructors

  `LogicalList(..., compress = TRUE)`: Concatenates the `logical` vectors in `...` into a new `LogicalList`. If `compress`, the internal storage of the data is compressed.
  `IntegerList(..., compress = TRUE)`: Concatenates the `integer` vectors in `...` into a new `IntegerList`. If `compress`, the internal storage of the data is compressed.
  `NumericList(..., compress = TRUE)`: Concatenates the `numeric` vectors in `...` into a new `NumericList`. If `compress`, the internal storage of the data is compressed.
  `ComplexList(..., compress = TRUE)`: Concatenates the `complex` vectors in `...` into a new `ComplexList`. If `compress`, the internal storage of the data is compressed.
  `CharacterList(..., compress = TRUE)`: Concatenates the `character` vectors in `...` into a new `CharacterList`. If `compress`, the internal storage of the data is compressed.
  `RawList(..., compress = TRUE)`: Concatenates the `raw` vectors in `...` into a new `RawList`. If `compress`, the internal storage of the data is compressed.
  `RleList(..., compress = TRUE)`: Concatenates the run-length encoded atomic vectors in `...` into a new `RleList`. If `compress`, the internal storage of the data is compressed.

### Author(s)

P. Aboyoun

### See Also

`TypedList` for the applicable methods.

### Examples

      int1 <- c(1L,2L,3L,5L,2L,8L)
      int2 <- c(15L,45L,20L,1L,15L,100L,80L,5L)
      collection <- IntegerList(int1, int2)

      ## names
      names(collection) <- c("one", "two")
      names(collection)
      names(collection) <- NULL # clear names
      names(collection)
      names(collection) <- "one"
      names(collection) # c("one", NA)

      ## extraction
      collection[[1]] # range1
      collection[["1"]] # NULL, does not exist
      collection[["one"]] # range1
      collection[[NA_integer_]] # NULL

      ## subsetting
      collection[numeric()] # empty
      collection[NULL] # empty
      collection[] # identity
      collection[c(TRUE, FALSE)] # first element
      collection[2] # second element
      collection[c(2,1)] # reversed
      collection[-1] # drop first
      collection$one

      ## replacement
      collection$one <- int2
      collection[[2]] <- int1

      ## combining
      col1 <- IntegerList(one = int1, int2)
      col2 <- IntegerList(two = int2, one = int1)
      col3 <- IntegerList(int2)
      append(col1, col2)
      append(col1, col2, 0)
      c(col1, col2, col3)

      ## get the mean for each element
      lapply(col1, mean)

[Package IRanges version 1.2.3 Index]