2013-03-12 60 views
-10

我有一個可以在這裏下載一個輸入文本文件:DOWNLOAD轉換文本文件到矩陣

我想將文本文件轉換爲count.matrix它看起來像這樣:

1 2 3 4 5 6 
    A 3 0 0 0 0 0 
    C 0 3 0 0 0 0 
    T 0 0 3 0 0 0 
    G 0 0 0 3 3 3 

這給出下面的興趣序列:ACTGGG

該文本文件包含概率分數(count/N) 我需要篩選出所有具有A的值,這將是矩陣的第一行,第二行將C跟在後面C保存的所有值,等等! 任何幫助表示讚賞!

+8

第一個數據框與這些矩陣有什麼關係?它包含完全不同的值和名稱? – 2013-03-12 10:55:32

+1

以及第二如何與第三mlist('dput')相關。 – Arun 2013-03-12 10:56:08

+0

這就是問題!我已經有了一組矩陣,但想要創建其他矩陣。這個矩陣用於評分,我想使用該集合,我只有一個數據框從 – 2013-03-12 10:58:11

回答

2

我會嘗試猜測問題。

假設您的數據框名稱爲df,您可以將每列轉換爲矩陣並使用lapply()將其放入列表中。例如,我轉換爲兩列的矩陣。

seq_len(ncol(df)將使序列號從1到列數,所以轉換將遍歷所有列。然後matrix()將每列轉換爲矩陣。

lapply(seq_len(ncol(df)),function(i) matrix(df[,i],ncol=2)) 
[[1]] 
      [,1]  [,2] 
[1,] 0.1682512 0.1589936 
[2,] 0.1583613 0.1583613 
[3,] 0.2294395 0.1401881 

[[2]] 
      [,1]  [,2] 
[1,] 0.1654002 0.1563962 
[2,] 0.1423133 0.1283551 
[3,] 0.1913303 0.1068051 

[[3]] 
      [,1]  [,2] 
[1,] 0.2558522 0.3320734 
[2,] 0.2304359 0.1847167 
[3,] 0.2934963 0.1893830