| AtomicList {IRanges} | R Documentation |
An extension of Sequence that holds
only atomic vectors in either a natural or run-length encoded form.
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.
Each of the above mentioned classes is virtual with Compressed* and Simple* non-virtual representations.
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 = FALSE): Concatenates the
run-length encoded atomic vectors in ... into a new
RleList.
If compress, the internal storage of the data is compressed.
as.vector(x, mode = "any"), as(from, "vector"):
Creates a vector based on the values contained in x. The
vector will be coerced to the requested mode, unless
mode is "any", in which case the most appropriate type is
chosen.
as.vectorORfactor(x): Creates an atomic vector or factor,
based on the type of values contained in x. This is the
most general way to flatten the list to a native R data structure.
as.logical(x), as(from, "logical"): Creates a logical
vector based on the values contained in x.
as.integer(x), as(from, "integer"): Creates an integer
vector based on the values contained in x.
as.numeric(x), as(from, "numeric"): Creates a numeric
vector based on the values contained in x.
as.complex(x), as(from, "complex"): Creates a complex
vector based on the values contained in x.
as.character(x), as(from, "character"): Creates a character
vector based on the values contained in x.
as.raw(x), as(from, "raw"): Creates a raw
vector based on the values contained in x.
as.factor(x), as(from, "factor"): Creates a factor object
based on the values contained in x.
as.data.frame(x, row.names = NULL, optional = FALSE),
as(from, "data.frame"): Creates a data.frame object based
on the values contained in x. Essentially the same as calling
data.frame(space=rep(names(x), elementLengths(x)), as.vector(x)).
as(from, "CompressedSplitDataFrameList"),
as(from, "SimpleSplitDataFrameList"): Creates a
CompressedSplitDataFrameList/SimpleSplitDataFrameList
instance from an AtomicList instance.
as(from, "IRangesList"), as(from, "CompressedIRangesList"),
as(from, "SimpleIRangesList"): Creates a
CompressedIRangesList/SimpleIRangesList
instance from a LogicalList or logical RleList instance. Note that the
elements of this instance are guaranteed to be normal.
as(from, "NormalIRangesList"),
as(from, "CompressedNormalIRangesList"),
as(from, "SimpleNormalIRangesList"): Creates a
CompressedNormalIRangesList/SimpleNormalIRangesList
instance from a LogicalList or logical RleList instance.
as(from, "AtomicList"): If from is a vector,
converts it to an AtomicList of the appropriate type.
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"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:
%in%, is.na, match, sort,
table, unique!, whichdiff,
pmax, pmax.int, pmin, pmin.int,
mean, var, cov, cor, sd,
median, quantile, mad, IQRsmoothEnds, runmed. runmean,
runsum, runwtsum, runqnchar, chartr, tolower,
toupper, sub, gsubP. Aboyoun
Sequence for the applicable methods.
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)
## group generics
2 * col1
col1 + col1
col1 > 2
log(col1)
sum(col1)
## get the mean for each element
sapply(col1, mean)