Я пытаюсь использовать статистику:: Пакет PCA для проведения PCA на некоторых генетических вариантах. Пакет требует чтения в списке списков (если я правильно понял, это может быть массив массивов, верно?).
Ниже приведена часть моего кода, где я создаю массивы для каждого человека (каждый человек является реальным субъектом-человеком, который получает массив, заполненный нулями и единицами, которые представляют наличие или отсутствие генетического варианта, называемого «СВ»), а затем поместите их в мой массив массивов с именем @LoL_SVs:
my @LoL_SVs;
foreach (@individuals) {
my $ind = $_;
foreach (@all_SVs) {
if ($SV{$ind}{$_} != 1) {
push(@{$SVs{$ind}}, "0");
}
if ($SV{$ind}{$_} == 1) {
push(@{$SVs{$ind}}, "1");
}
}
push @LoL_SVs, [ @{$SVs{$ind}} ];
}
Затем я пытаюсь загрузить данные, как описано в CPAN сайт модуля (см. параграф *load_data*):
use Statistics::PCA;
my $pca = Statistics::PCA->new;
$pca->load_data ( { format => 'table', data => @LoL_SVs, } );
# ^ this line is where it goes wrong
К сожалению, это не работает, и я получаю сообщение об ошибке:
Нельзя использовать строку ("0") в качестве ссылки на МАССИВ, пока используются "строгие ссылки" в /home/abdel/myperl/share/perl/5.10.1/Statistics/PCA.pm, строка 189.
Есть идеи, что здесь может пойти не так?
Я надеюсь, что проблема хорошо определена, в противном случае, пожалуйста, дайте мне знать, если вам нужна дополнительная информация! Большое спасибо!