Update ff content from another object
update
copies updates one ff object with the content of another object.
## S3 method for class 'ff' update(object, from, delete = FALSE, bydim = NULL, fromdim = NULL , BATCHSIZE = .Machine$integer.max, BATCHBYTES = getOption("ffbatchbytes") , VERBOSE = FALSE, ...) ## S3 method for class 'ffdf' update(object, from, ...)
object |
an ff object to which to update |
from |
an object from which to uodate |
delete |
NA for quick update with file-exchange, TRUE for quick update with deleting the 'from' object after the update, can speed up updating significantly |
bydim |
how to interpret the content of the object, see |
fromdim |
how to interpret the content of the 'from' object, see |
BATCHSIZE |
|
BATCHBYTES |
|
VERBOSE |
|
... |
further arguments |
If the source object is.ff
and not delete=FALSE
then instead of slow copying we - if possible - try to swap and rename the files behind the ff objects.
Quick update requires that the two ff objects are vectorCompatible
,
that both don't use vw
,
that they have identical maxlength
and identical levels.ff
.
An ff object like the input 'object' updated with the content of the 'from' object.
You don't have a guarantee that with delete=TRUE
the 'from' object gets deleted or with delete=NA
the 'from' objects carries the content of 'object'.
Such expectations only turn true if really a quick update was possible.
Jens Oehlschlägel
x <- ff(1:100) y <- ff(-(1:100)) message("You should make it a habit to re-assign the return value of update although this is not needed currently.") x <- update(x, from=y) x y x[] <- 1:100 x <- update(x, from=y, delete=NA) x y x <- update(x, from=y, delete=TRUE) x y x rm(x,y); gc() ## Not run: message("timings") x <- ff(1:10000000) y <- ff(-(1:10000000)) system.time(update(x, from=y)) system.time(update(y, from=x, delete=NA)) system.time(update(x, from=y, delete=TRUE)) rm(x,y); gc() ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.