我试图使用Statistics::PCA软件包对一些基因变体进行PCA。该软件包需要读取列表中的列表(如果我正确理解它,可以是一个数组数组,对吧?)。perl(Statistics :: PCA):不能使用字符串(“0”)作为ARRAY ref,而“strict refs”
下面是我的代码的一部分,我为每个人创建数组(每个人都是一个实际的人类主体,它获得一个填充0和1的数组,表示存在或不存在称为“SV”的遗传变体) ),然后把他们在我的数组的数组称为@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
不幸的是,这并不工作K和我得到的错误信息:
不能使用字符串(“0”)的数组引用,而“严格裁判”在使用中/home/abdel/myperl/share/perl/5.10。 1/Statistics/PCA.pm line 189.
任何想法可能会出现什么问题吗?
我希望问题是明确的,否则请让我知道如果你需要更多的信息!非常感谢!
谢谢!使用“data => \ @LoL_SVs”做了诡计!我喜欢这个网站。 – Abdel 2013-04-11 12:22:49
@Abdel是的,我也喜欢它。别客气。 – TLP 2013-04-11 12:26:22