see: http://www.nabble.com/Compressing-String-in-R-td21160453.html
On Fri, Jan 9, 2009 at 10:50 AM, Gundala Viswanath <gunda...@gmail.com> wrote: > 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. > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve? ______________________________________________ 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.