Sorting of ff vectors
Sorting: sort an ff vector – optionally in-place
ffsort(x , aux = NULL , has.na = TRUE , na.last = TRUE , decreasing = FALSE , inplace = FALSE , decorate = FALSE , BATCHBYTES = getOption("ffmaxbytes") , VERBOSE = FALSE )
x |
an ff vector |
aux |
NULL or an ff vector of the same type for temporary storage |
has.na |
boolean scalar telling ffsort whether the vector might contain |
na.last |
boolean scalar telling ffsort whether to sort |
decreasing |
boolean scalar telling ffsort whether to sort increasing or decreasing |
inplace |
boolean scalar telling ffsort whether to sort the original ff vector ( |
decorate |
boolean scalar telling ffsort whether to decorate the returned ff vector with |
BATCHBYTES |
maximum number of RAM bytes ffsort should try not to exceed |
VERBOSE |
cat some info about the sorting |
ffsort tries to sort the vector in-RAM respecting the BATCHBYTES limit.
If a fast sort it not possible, it uses a slower in-place sort (shellsort).
If in-RAM is not possible, it uses (a yet simple) out-of-memory algorithm.
Like ramsort
the in-RAM sorting method is choosen depending on context information.
If a key-index sort can be used, ffsort completely avoids merging disk based subsorts.
If argument decorate=TRUE
is used, then na.count(x)
will return the number of NAs
and is.sorted(x)
will return TRUE if the sort was done with na.last=TRUE
and decreasing=FALSE
.
the ff vector may not have a names attribute
Jens Oehlschlägel
n <- 1e6 x <- ff(c(NA, 999999:1), vmode="double", length=n) x <- ffsort(x) x is.sorted(x) na.count(x) x <- ffsort(x, decorate=TRUE) is.sorted(x) na.count(x) x <- ffsort(x, BATCHBYTES=n, VERBOSE=TRUE)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.