Dear all, Does R has any function/package that can pack and unpack string into bit size?
The reason I want to do this in R is that R has much more native statistical function than Perl. Yet the data I need to process is so large that it required me to compress it into smaller unit -> process it -> finally recover them back again into string with new information. In Perl the implementation will look like this: I wonder how can this be implemented in R. __BEGIN__ my %charmap = ( A => '00', C => '01', G => '10', T => '11', ); my %digmap = ( '00' => "A", '01' => "C", '10' => "G", '11' => "T", ); my $string = 'GATTA'; $string =~ s/(.)/$charmap{$1}/ge; my $compressed = pack 'b*', $string; print "COMP: $compressed\n"; printf "%d bytes\n", length $compressed; my @data; # Store the compressed bit into array push @data, $compressed; # process the array foreach my $dat ( @data ) { my $decompressed = unpack 'b*', $dat; $decompressed =~ s/(..)/$digmap{$1}/ge; print "$decompressed\n"; # or do further processing on $dat } __END__ - Gundala Viswanath Jakarta - Indonesia ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.