| hi {ff} | R Documentation |
Class for hybrid index representation, plain and rle-packed
hi(from, to, by = 1L, maxindex = NA, vw = NULL, pack = TRUE, NAs = NULL)
from |
integer vector of lower sequence bounds |
to |
integer vector of upper sequence bounds |
by |
integer of stepsizes |
maxindex |
maximum indep position (needed for negative indices) |
vw |
virtual window information, see vw |
pack |
FALSE to suppress rle-packing |
NAs |
a vector of NA positions (not yet used) |
Class hi will represent index data either as a plain positive or negative index vector or as an rle-packed version thereof.
The current implementation switches from plain index positions i to rle-packed storage of diff(i) as soon as the compression ratio is 3 or higher.
Note that sequences shorter than 2 must never be packed (could cause C-side crash).
Furthermore hybrid indices are guaranteed to be sorted ascending, which helps ffs access method avoiding to swap repeatedly over the same memory pages (or file positions).
A list of class 'hi' with components
x |
directly accessed by the C-code: the sorted index as returned by rlepack |
ix |
NULL or positions to restore original order |
re |
logical scalar indicating if sequence was reversed from descending to ascending (in this case is.null(ix)) |
minindex |
directly accessed by the C-code: represents the lowest positive subscript to be enumerated in case of negative subscripts |
maxindex |
directly accessed by the C-code: represents the highest positive subscript to be enumerated in case of negative subscripts |
length |
number of subscripts, whether negative or positive, not the number of selected elements |
dim |
NULL or dim – used by as.matrix.hi |
dimorder |
NULL or dimorder |
symmetric |
logical scalar indicating whether we have a symmetric matrix |
fixdiag |
logical scalar indicating whether we have a fixed diagonal (can only be true for symmetric matrices) |
vw |
virtual window information vw |
NAs |
NULL or NA positions as returned by rlepack |
hi defines the class structure, however usually as.hi is used to acturally Hybrid Index Preprocessing for ff
Jens Oehlschlägel
as.hi for coercion, rlepack, intrle, maxindex, poslength
hi(c(1, 11, 29), c(9, 19, 21), c(1,1,-2)) as.integer(hi(c(1, 11, 29), c(9, 19, 21), c(1,1,-2)))