Incrementing an ff or ram object
Yet another assignment interface in order to allow to formulate x[index,...,add=TRUE]<-value
in a way which works transparently, not only for ff, but also for ram objects: add(x, value, index, ...)
.
add(x, ...) ## S3 method for class 'ff' add(x, value, ...) ## Default S3 method: add(x, value, ...)
invisible()
Note that add.default
changes the object in its parent frame and thus violates R's usual functional programming logic.
Duplicated index positions should be avoided, because ff and ram objects behave differently:
add.ff(x, 1, c(3,3)) # will increment x at position 3 TWICE by 1, while add.default(x, 1, c(3,3)) # will increment x at position 3 just ONCE by 1
Jens Oehlschlägel
message("incrementing parts of a vector") x <- ff(0, length=12) y <- rep(0, 12) add(x, 1, 1:6) add(y, 1, 1:6) x y message("incrementing parts of a matrix") x <- ff(0, dim=3:4) y <- array(0, dim=3:4) add(x, 1, 1:2, 1:2) add(y, 1, 1:2, 1:2) x y message("BEWARE that ff and ram methods differ in treatment of duplicated index positions") add(x, 1, c(3,3)) add(y, 1, c(3,3)) x y rm(x); gc()
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.