【问题标题】:Filter rows based on values in a column根据列中的值过滤行
【发布时间】:2015-07-06 22:00:41
【问题描述】:

如何过滤掉矩阵特定列中的值高于某个值的行。例如,如何过滤下面矩阵中logCPM 大于 0.2 的行?

> mydata

         logFC     logCPM          LR     PValue       FDR
1  0.552704905 0.18660575 2.805573421 0.09393725 0.1744389
2  0.179752394 0.12956983 0.264209389 0.60724288 0.7164197
3  0.135260378 0.99331911 0.334612036 0.56295589 0.6789419
4  0.007554301 0.66189664 0.001413451 0.97000988 0.9809448
5 -0.107374125 2.56150056 0.251272726 0.61618033 0.7237010
6  0.062867911 0.04769834 0.018075575 0.89305036 0.9300404

【问题讨论】:

  • dat[dat$logCPM > 0.2,]。投反对票是因为我认为这样的问题很多,至少在搜索方面需要一点努力。
  • @akrun,哦,你说的很对。我忘记了,我(错误地)假设它是一个数据框。
  • 对不起,它是一个数据框

标签: r


【解决方案1】:

你可以试试

 mydata[mydata[,'logCPM']>0.2,]

【讨论】:

  • 它是一个数据框,对不起
  • 为什么0,2后面有,?我在logCPM 之前得到了第一个,,但第二个让我失望了......
  • @dre mydata[,'logCPM'] 是将“logCPM”列作为向量进行子集化,然后创建逻辑索引> 0.2,这用于对行进行子集化,] 请注意,在R,就是[row,column],如果没有,,默认解析为列索引
【解决方案2】:

试试这个

mydata[mydata$logCPM > 0.2,]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 2022-01-03
    相关资源
    最近更新 更多