【问题标题】:extractFeatures() from the NMF package in R returns empty list for microRNA dataR 中 NMF 包中的 extractFeatures() 返回 microRNA 数据的空列表
【发布时间】:2015-07-10 01:20:32
【问题描述】:

我正在使用 R 中的 NMF 包对 RNAseq/microRNAseq 数据执行非负矩阵分解。

我的第一次尝试是使用已记录的 RNAseq 数据(FPKM 数据矩阵),删除空行并转换以适应非负性要求。这很好用。 extractFeatures() 函数返回一个索引列表,然后我可以使用它来列出每个特征中的基因并执行功能(基于 GO)分析。耶!

然后,我决定尝试使用与 RNAseq 数据完全相同的方式处理的 microRNA 数据(同样是 FPKM 数据矩阵)。

数据看起来像这样

                   SampleA      SampleB     SampleC     SampleD     SampleE
hsa-let-7a-2-3p    0.000000    0.000000    0.000000   0.8858701    0.000000
hsa-let-7a-3p      8.723701   10.169876    8.041837   8.3992046    8.109053
hsa-let-7a-5p     14.996682   12.861308   13.739875  14.0245517   13.901233
hsa-let-7b-3p      4.911069    0.000000    5.399995   5.7433124    5.553784
hsa-let-7b-5p     11.758403   10.788349   11.648344  12.0864421   11.909324
hsa-let-7c        10.480125    6.378711   11.214152  10.2060951   10.852412

我已经完成了排名优化步骤并找到了最佳排名(此处为 4)。在此之后,我像这样运行 nmf 函数(可能是最简单的版本)。

res.mir <- nmf(data,4)

然后,我尝试从这个对象中提取特征,我得到了这个....

> s<-extractFeatures(res.mir)
> s
[[1]]
<NA>
  NA

[[2]]
<NA>
  NA

[[3]]
<NA>
  NA

[[4]]
<NA>
  NA

attr(,"method")
[1] "kim"

我唯一能获得特征索引的时间是在我使用的时候

s1<-extractFeatures(res.mir,method="max")
> s1
[[1]]
<NA>
  NA

[[2]]
[1] 923

[[3]]
[2] 258  20 308 561 591

[[4]]
<NA>
  NA

attr(,"method")
[1] "max"

但是,在这种情况下,我只获得了一些特征的索引,而不是全部 4 个。奇怪的是我可以看到 4 个特征!

问题

  1. 对于如何从 NMFfitX1 对象中获取功能有任何建议吗?
  2. 或者,有谁知道为什么我返回一个空列表?

非常感谢您的宝贵时间!

【问题讨论】:

  • 使用另一种方法提取特征,即,如果您以前使用“kim”,请尝试“max”。空列表意味着没有使用预先指定的方法根据计算的分数选择特征。

标签: r feature-extraction


【解决方案1】:

尝试extractFeatures(res.mir, 30),这意味着每个组件中的前 30 个功能。但我没有弄清楚为什么它返回 NAs 默认值。

【讨论】:

  • 虽然它为您提供了前 n 个特征,但它们不是选定的特征。 All NA 表示未选择任何功能。
猜你喜欢
  • 1970-01-01
  • 2016-12-22
  • 1970-01-01
  • 2019-02-13
  • 1970-01-01
  • 2021-09-09
  • 2016-09-21
  • 2020-12-29
  • 1970-01-01
相关资源
最近更新 更多