2

次のような構造のデータファイルがあります。

OTU1    PIA0    1120
OTU2    PIA1    2
OTU2    PIA3    6
OTU2    PIA4    10
OTU2    PIA5    1078
OTU2    PIN1    24
OTU2    PIN2    45
OTU2    PIN3    261
OTU2    PIN4    102
OTU3    PIA0    16
OTU3    PIA1    59
OTU3    PIA2    27
OTU3    PIA3    180
OTU3    PIA4    200
OTU3    PIA5    251
OTU3    PIN0    36
OTU3    PIN1    61
OTU3    PIN2    156
OTU3    PIN3    590
OTU3    PIN4    277
OTU4    PIA0    401
OTU4    PIN0    2

そして、1列目を基準として2列目のデータの組み合わせを示すマトリックスを作成したいと思います(最初の列番号でそれぞれを測定した回数を示します-OTU1、OTU2、OTU3、OTU4- 2 番目の列の各データムは、同じ OTU 内で互いに一緒に表示されます)。次のようにする必要があります。

    PIA0  PIA1  PIA2  PIA3  PIA4  PIA5  PIN0  PIN1  PIN2  PIN3  PIN4
PIA0  1     1     1     1     1     1     2     1     1     1     1 
PIA1  1     0     1     2     2     2     1     2     2     2     2
PIA2  1     1     0     1     1     1     1     1     1     1     1
PIA3  1     2     1     0     2     2     1     2     2     2     2
PIA4  1     2     1     2     0     2     1     2     2     2     2
PIA5  1     2     1     2     2     0     1     2     2     2     2
PIN0  2     1     1     1     1     1     0     1     1     1     1
PIN1  1     2     1     2     2     2     1     0     2     2     2
PIN2  1     2     1     2     2     2     1     2     0     2     2
PIN3  1     2     1     2     2     2     1     2     2     0     2
PIN4  1     2     1     2     2     2     1     2     2     2     0

同じ名前の行と列の間で共有されるデータは、このデータムが OTU に単独で現れる回数を反映します。

何か案は?

R ライブラリ 'reshape2' とコマンド 'acast' hereについて読んだことがありますが、それを使用すると、すべてのデータを含むマトリックスの形状のみを変更でき、必要に応じて組み合わせをカウントすることはできません。私も Biopython スクリプトを考えていますが、プログラミングに関する知識がほとんどないため、書き留めるのは大きすぎて難しいと思います。

目標は、例のようなマトリックスを作成して、これらのデータを使用してCIRCOS オンラインプログラムを実行できるようにすることです。

4

1 に答える 1