abIndex-class
Class "abIndex" of Abstract Index Vectors
Description
The "abIndex"
class
, short for “Abstract Index Vector”, is used for dealing with large index vectors more efficiently, than using integer (or numeric
) vectors of the kind 2:1000000
or c(0:1e5, 1000:1e6)
.
Note that the current implementation details are subject to change, and if you consider working with these classes, please contact the package maintainers (packageDescription("Matrix")$Maintainer
).
Objects from the Class
Objects can be created by calls of the form new("abIndex", ...)
, but more easily and typically either by as(x, "abIndex")
where x
is an integer (valued) vector, or directly by abIseq()
and combination c(...)
of such.
Slots
-
kind
: -
a
character
string, one of("int32", "double", "rleDiff")
, denoting the internal structure of the abIndex object. -
x
: -
Object of class
"numLike"
; is used (i.e., not of length0
) only iff the object is not compressed, i.e., currently exactly whenkind != "rleDiff"
. -
rleD
:
Methods
- as.numeric, as.integer, as.vector
-
signature(x = "abIndex")
: ... - [
-
signature(x = "abIndex", i = "index", j = "ANY", drop = "ANY")
: ... - coerce
-
signature(from = "numeric", to = "abIndex")
: ... - coerce
-
signature(from = "abIndex", to = "numeric")
: ... - coerce
-
signature(from = "abIndex", to = "integer")
: ... - length
-
signature(x = "abIndex")
: ... - Ops
-
signature(e1 = "numeric", e2 = "abIndex")
: These and the following arithmetic and logic operations are not yet implemented; seeOps
for a list of these (S4) group methods. - Ops
-
signature(e1 = "abIndex", e2 = "abIndex")
: ... - Ops
-
signature(e1 = "abIndex", e2 = "numeric")
: ... - Summary
-
signature(x = "abIndex")
: ... - show
-
("abIndex")
: simpleshow
method, building onshow(<rleDiff>)
. - is.na
-
("abIndex")
: works analogously to regular vectors. - is.finite, is.infinite
-
("abIndex")
: ditto.
Note
This is currently experimental and not yet used for our own code. Please contact us (packageDescription("Matrix")$Maintainer
), if you plan to make use of this class.
Partly builds on ideas and code from Jens Oehlschlaegel, as implemented (around 2008, in the GPL'ed part of) package ff.
See Also
rle
(base) which is used here; numeric
Examples
showClass("abIndex") ii <- c(-3:40, 20:70) str(ai <- as(ii, "abIndex"))# note ai # -> show() method stopifnot(identical(-3:20, as(abIseq1(-3,20), "vector")))
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.