のマトリックスを作成します。私は、各サンプルが結果水を与える頻度を数えるハッシュを作成し私はこのようになります冗長リストを入力していた冗長リストから
Sample1.14 Water
Sample2.45 Air
Sample1.16 Dirt
Sample1.14 Water
Sample2.45 Air
Sample1.16 Dirt
Sample1.14 Water
Sample2.45 Air
Sample1.16 Dirt
Sample1.16 Dirt
Sample1.14 Dirt
Sample2.45 Air
Sample1.16 Air
を、空気、土が(この点に注意してくださいです単なるデータ例ですが、構造は同じです)。
use warnings;
use strict;
my $inPut = "ExampleSample";
open(READ,$inPut) || die "Coult not read $inPut: $!";
my %sampleHash;
while (<READ>) {
chomp;
my @temp = split("\t",$_);
my $sample = $temp[0];
my $type = $temp[1];
$sampleHash{$type}{$sample} += 1;
}
これは意図したとおりに動作し、出力として得られます。
$VAR1 = {
'Dirt' => {
'Sample1.16' => 4,
'Sample1.14' => 1
},
'Air' => {
'Sample1.16' => 1,
'Sample2.45' => 4
},
'Water' => {
'Sample1.14' => 3
}
};
これは私がやや失われた午前行列にこのデータを入れたいと思い、さらに下流のもののための静かな不正なデータ構造であるので、で。
所望の出力またはこの例の転置、本当に問題ではない:
Sample1.14 Sample2.45 Sample1.16
Air 0 4 1
Dirt 4 0 4
Water 3 0 0
私は本当にすべてのヘルプは非常に高く評価されるだろう、ここで立ち往生しています!ありがとう。
例の変数名が間違っています。 – simbabque
お手伝いするために、私たちはあなたの下流のものが必要とするものを理解する必要があります。それがわからない場合は、後でデータを使って何をするつもりか教えてください。あなたが現在持っている構造はとても典型的です。データを見ると、私は同じことをしているだろう。タイプごとにグループ化し、サンプルを数えます。これは、最初のキーが行で、2番目のキーが列であることを示した表に対応します。 – simbabque
ヘッドアップありがとう。ダウンストリーム私は、どのサンプルがどのタイプで最も頻繁に出現するかを見るためにマトリックス構造を持つ出力ファイルを作成したいが、グループ分けが冗長であるため、データをR読み取り可能なフォーマットにする方法はあまりよく分からない。 – chrys