in reply to Re: finding matches in the same array
in thread finding matches in the same array

This gives more weight to the last number (if there are more than 2):
my @sequence = ('acgt','actg','cggt','cggt', 'actg', 'actg'); my @numbers = ('1234','2345','3244','3455', '5230', '100000' );
gives 51893.75 when it should be 34526.3333333333
--------------
"But what of all those sweet words you spoke in private?"
"Oh that's just what we call pillow talk, baby, that's all."

Replies are listed 'Best First'.
Re^3: finding matches in the same array
by sh1tn (Priest) on Apr 13, 2005 at 19:42 UTC
    You are right, it's utterly different algorithm.
    The correct one is as follows:
    @seq = ('acgt','actg','cggt','cggt', 'actg', 'actg'); @num = ('1234','2345','3244','3455', '5230', '100000' ); for( 0..$#seq ){ $struct{$seq[$_]}->[0] += $num[$_] and $struct{$seq[$_]}->[1]++ } for( keys %struct ){ print "$_\t", $struct{$_}->[0] / $struct{$_}->[1], $/ } __END__ STDOUT: acgt 1234 cggt 3349.5 actg 35858.3333333333