## S3 method for class 'default':
compress(x, verbose = getOption("verbose"), ...)
compressed
if compression took place, otherwise a
an object of class uncompressed
compressed
containing the nonzero elements and their position
in the original vector.The decision whether to compress the vector or not depends on two things, first the number of non-zero elements in the vector (r, say), and second the length of the vector (n, say). Since the position and value of the non-zero elements is stored we will need to store 2r values for the non-zero elements. So compression takes place if 2r < n.
This function is a method for the generic function
compress()
for class default
.
It can be invoked by calling compress(x)
for an
object x
of the appropriate class, or directly by
calling compress.default(x)
regardless of the
class of the object.
compressed.object
, uncompressed.object
;
rle
for another kind of compression.#
# Compress a vector with lots of zeroes
#
str(compress(c(rep(0,100),99)))
## List of 3
## $ position : int 101
## $ values : num 99
## $ original.length: int 101
## - attr(*, "class")= chr "compressed"
## Try to compress a vector with not many zeroes
compress(1:10)
## (uncompressed)
Run the code above in your browser using DataLab