1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
## ---- echo = FALSE, results = "hide", message = FALSE-------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>")
require(bit)
.ff.version <- try(packageVersion("ff"), silent = TRUE)
.ff.is.available <- !inherits(.ff.version, "try-error") && .ff.version >= "4.0.0" && require(ff)
#tools::buildVignette("vignettes/bit-demo.Rmd")
#devtools::build_vignettes()
## -----------------------------------------------------------------------------
n <- 1e8
b1 <- bit(n)
b1
## -----------------------------------------------------------------------------
object.size(b1)/n
## -----------------------------------------------------------------------------
b1[10:30] <- TRUE
summary(b1)
## -----------------------------------------------------------------------------
b2 <- bit(n)
b2[20:40] <- TRUE
b2
## -----------------------------------------------------------------------------
b1 & b2
## -----------------------------------------------------------------------------
summary(b1 & b2)
## -----------------------------------------------------------------------------
w1 <- as.bitwhich(b1)
w2 <- as.bitwhich(b2)
object.size(w1)/n
## -----------------------------------------------------------------------------
w1 & w2
## -----------------------------------------------------------------------------
summary(w1 & w2)
## -----------------------------------------------------------------------------
summary(b1 & w2)
## -----------------------------------------------------------------------------
summary(b1, range=c(1,1000))
## -----------------------------------------------------------------------------
as.which(b1, range=c(1, 1000))
## -----------------------------------------------------------------------------
lapply(chunk(from=1, to=n, length=10), function(i)as.which(b1, range=i))
## ---- eval=.ff.is.available---------------------------------------------------
options(ffbatchbytes=1024^3)
x <- ff(vmode="single", length=n)
x[1:1000] <- runif(1000)
lapply(chunk(x, length.out = 10), function(i)sum(x[as.hi(b1, range=i)]))
## ---- eval=.ff.is.available---------------------------------------------------
delete(x)
rm(x, b1, b2, w1, w2, n)
|