【问题标题】:How to filter gene expression data set with rows equal to zeros?如何过滤行为零的基因表达数据集?
【发布时间】:2017-08-05 21:46:51
【问题描述】:

我想删除值完全为零的表达式数据集中的行,我进行了搜索并找到了下面的代码我不确定它是如何工作的,谁能解释我[(3:col(df))]]==0)==col(df)-2, ]这个参数是什么意思?

df[ !(df[rownames(df),[(3:col(df))]]==0)==col(df)-2, ]

【问题讨论】:

  • 好吧,我已经对这个问题投了反对票,但谁能解释一下?
  • 代码是乱码(你在哪里找到的??)而且你没有给出一个可重现的例子。
  • 好的,我会引用源代码

标签: r


【解决方案1】:

这是一种笨拙的代码,看起来有点乱码。

df[rowSums(df[,3:ncol(df)]==0)!=ncol(df)-2,]

将选择数据框中最后 (ncol-2) 列不全为零的行。

  • df[,3:ncol(df)] 选择除前两列之外的所有列
  • rowSums(.==0) 计算每行中零的数量
  • 对于零数不等于(剩余)列数的所有条目,. != ncol(df)-2TRUE
  • df[.,] 选择行

一个稍微简单的替代方案是

df[any(df[,-(1:2)]!=0),]

【讨论】:

  • 虽然表达了赞赏,但 StackOverflow 弃用了 using comments to say "thank you";如果此答案有用,您可以投票(如果您有足够的声誉),并且无论如何如果它令人满意地回答了您的问题,我们鼓励您单击复选标记以接受它。
猜你喜欢
  • 1970-01-01
  • 2018-08-24
  • 1970-01-01
  • 1970-01-01
  • 2019-11-03
  • 2019-08-09
  • 1970-01-01
  • 2014-04-12
  • 1970-01-01
相关资源
最近更新 更多