Getting and setting 'na.count' physical attribute
The 'na.count' physical attribute gives the current number of NAs if properly initialized and properly maintained, see details.
## S3 method for class 'ff' na.count(x, ...) ## Default S3 method: na.count(x, ...) ## S3 replacement method for class 'ff' na.count(x, ...) <- value ## Default S3 replacement method: na.count(x, ...) <- value
x |
an ff or ram object |
... |
further arguments (not used) |
value |
NULL (to remove the 'na.count' attribute) or TRUE to activate or an integer value |
The 'na.count' feature is activated by assigning the current number of NAs to na.count(x) <- currentNA
and deactivated by assigning NULL.
The 'na.count' feature is maintained by the, getset.ff
, readwrite.ff
and swap
,
other ff methods for writing – set.ff
, [[<-.ff
, write.ff
, [<-.ff
– will stop if 'na.count' is activated.
The functions na.count
and na.count<-
are generic.
For ram objects, the default method for na.count
calculates the number of NAs on the fly, thus no maintenance restrictions apply.
NA (if set to NULL or NA) or an integer value otherwise
Jens Oehlschlägel, Daniel Adler (C++ back-end)
message("--- ff examples ---") x <- ff(1:12) na.count(x) message("activate the 'na.count' physical attribute and set the current na.count manually") na.count(x) <- 0L message("add one NA with a method that maintains na.count") swap(x, NA, 1) na.count(x) message("remove the 'na.count' physical attribute (and stop automatic maintenance)") na.count(x) <- NULL message("activate the 'na.count' physical attribute and have ff automatically calculate the current na.count") na.count(x) <- TRUE na.count(x) message("--- ram examples ---") x <- 1:12 na.count(x) x[1] <- NA message("activate the 'na.count' physical attribute and have R automatically calculate the current na.count") na.count(x) <- TRUE na.count(x) message("remove the 'na.count' physical attribute (and stop automatic maintenance)") na.count(x) <- NULL na.count(x) rm(x); gc()
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.