2013-06-19 85 views
0

我正在使用R package NMF對微陣列表達式數據執行非負矩陣分解。我完成了nmf程序,但想從基礎矩陣中提取基因名稱(特徵)。基礎矩陣是nmf之後的結果矩陣之一,其中包含行的基因名稱,列的元序列數(分解等級)。說明來自NMF包中的extractFeatures()R

該軟件包有一個功能可以完成這項操作,稱爲extractFeatures(),它將對矩陣進行評分並返回符合我評分標準的特徵(基因名稱)。假設在運行NMF(最終NMF對象稱爲x)之後,我有4個metagene列(rank = 4)作爲基礎矩陣。當我運行s <- extractFeatures(x)我得到一個R「列表」與含有整數4個載體:

> class(s) 
[1] "list" 

> str(s) 
List of 4 
$ : int [1:575] 569 4857 4 51 91 9627 6359 2522 118 163 ... 
$ : int [1:243] 3 1 11834 106 2 52 3855 1103 6 1510 ... 
$ : int [1:37] 11922 11890 11521 11888 11648 11388 9340 11520 9854 11670 ... 
$ : int [1:808] 6123 9125 11918 10432 9674 2109 11802 8372 11746 6996 ... 
- attr(*, "method")= chr "kim" 

(對於下面的代碼,一些結果的是爲簡潔起見移除)

> s 
[[1]] 
    [1] 569 4857  4 51 

[[2]] 
    [1]  3  1 11834 106  2 52 3855 1103  6 1510 14 49 

[[3]] 
[1] 11922 11890 11521 

[[4]] 
[1] 6123 9125 11918 10432 9674 2109 

問題1: 什麼這些是整數嗎?它們應該是我矩陣中的「特徵」(即基因名稱)。他們爲什麼是整數而不是基因名?那些整數是否以某種方式與我的基因名稱相對應?

問題2: 如何從每個單獨的載體中分離基因名稱(在列表s內)。例如,我想獲得第一個metagene(575個功能)的唯一基因名稱,然後只有第二個metagene(243個功能)的基因名稱等,等等。

任何想法將不勝感激。謝謝!

回答