我有結構化的這樣的數據文件:變換數據幀劃分成矩陣與計數
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
我想要創建一個矩陣,示出了從第二塔以第一列作爲用於計數基準數據的組合(顯示每次測量第一列數量-OTU1,OTU2,OTU3,OTU4多少次 - 來自第二列的每個數據在相同的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 online程序。
我試圖按照你的解釋,不能看到你的數據之間的鏈接 - 你能發表一個簡單的例子嗎? – alexwhan
我想要做的是編寫一個數字,以反映第二列中的每個數據在單個「OTU」中出現的次數。我的意思是,例如,在'OTU'(第一列,OTU1,OTU3和OTU4)中出現'PIA0',而'PIN0'僅出現在2(OTU3和OTU4)中。由於'PIA0'和'PIN0'都出現在OTU3和OTU4中,所以決賽桌中他們交叉點的數字必須是2. –