У меня есть данные в этом формате
b1 1995 1
b1 2007 0.1
b2 1974 0.1
b2 1974 0.6
b2 1975 0.3
И я хочу суммировать значения в столбце 3 на основе одинаковых значений в обоих столбцах 1 и 2.
Я написал код, в котором суммируется значение, но я не знаю, как напечатать значения групп.
use strict;
use warnings;
use Data::Dumper;
my $file=shift;
open (DATA, $file);
my %score_by_year;
while ( my $line = <DATA> )
{
my ($protein, $year, $score) = split /\s+/, $line;
$score_by_year{$year} +=$score;
print "$protein\t$year\t$score_by_year{$year}\n";
}
close DATA;
поэтому мой код выдает:
b1 1995 1
b1 2007 0.1
b2 1974 0.1
b2 1974 0.7
b2 1975 0.3
тогда как ожидаемый результат будет таким:
b1 1995 1
b1 2007 0.1
b2 1974 0.7
b2 1975 0.3