从R中的NMF包解释extractFeatures()

时间:2013-06-19 19:20:58

标签: r sparse-matrix

我使用R package NMF对微阵列表达数据进行非负矩阵分解。我完成了nmf程序,但是希望从基础矩阵中提取基因名称(特征)。基础矩阵是nmf之后得到的矩阵之一,其中包含行的基因名称和列的基元名称(分解等级)。

该程序包具有执行此操作的功能,称为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个特征)等的基因名称等。

任何想法都将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

我认为整数是你基因的指标

http://nmf.r-forge.r-project.org/scores.html

extractFeatures将所选要素作为索引列表,单个整数向量或与仅包含所选要素的对象相同的类的对象返回。