compress.default(v, verbose=F)
TRUE
then this routine prints out the degree
of compression achieved.
compress.default
takes a vector, decides whether compression
is necessary and if it is makes an object of class
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 the default method for the generic function
compress.
It can be invoked by
calling compress for an object of the appropriate class,
or directly by calling compress.default
regardless of the
class of the object.
# # Compress a vector with lots of zeroes # > compress(c(rep(0,100),99)) $position: [1] 101 $values: [1] 99 $original.length: [1] 101 attr(, "class"): [1] "compressed" # # Try to compress a vector with not many zeroes # > compress(1:10) $vector: [1] 1 2 3 4 5 6 7 8 9 10 attr(, "class"): [1] "uncompressed"