[R] Pack and Unpack Strings in R

jim holtman jholtman at gmail.com
Fri Jan 9 17:42:42 CET 2009


see:

http://www.nabble.com/Compressing-String-in-R-td21160453.html

On Fri, Jan 9, 2009 at 10:50 AM, Gundala Viswanath <gundalav at 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 at 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?




More information about the R-help mailing list