我使用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个特征)等的基因名称等。
任何想法都将不胜感激。谢谢!
答案 0 :(得分:1)
我认为整数是你基因的指标
http://nmf.r-forge.r-project.org/scores.html
extractFeatures将所选要素作为索引列表,单个整数向量或与仅包含所选要素的对象相同的类的对象返回。