Я хочу использовать Statistics :: Basic :: ComputedVector set_filter
, но фильтр, который я хочу использовать, представляет собой массив из 1 и 0.Возможно ли это?
Вот что я хочу сделать:
my $v1 = vector(1,2,3,4,5);
my @filter = qw(1 0 0 1 1);
my $cv = computed($v1);
$cv->set_filter(@filter);
Я попробовал следующее:
my $v1 = vector(1,2,3,4,5);
my $compV1 = computed($v1);
my @filter = (1) x $compV1->query_size();
$filter[-1] = 0;
say $compV1;
$compV1-> set_filter( sub { grep { $filter[$_] } 0..$#_ } );
say $compV1;
… но это печатает:
[1, 2, 3, 5, 7]
[0, 1, 2, 3]
Что мне делать?
Кажется, это проблема с моим знанием grep
и map
больше, чем Statistics::Basic
, поэтому я думаю, вы могли бы помочь, даже если выЯ никогда не использовал этот модуль.