[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