【问题标题】:Filtering/Cleaning a Dataset using R/Python/Unix [closed]使用 R/Python/Unix 过滤/清理数据集 [关闭]
【发布时间】:2021-09-03 05:40:10
【问题描述】:

我想知道是否有人知道我可以使用任何方法(R/Python/Unix bash)的过滤过程/功能。

所以我的数据集看起来像:

Gene  Chromosome Counts ...
x
x
x
x

现在,我有一个不同的文本文件,其中包含从上述数据集中选择的基因。所以我正在寻找一个函数,它允许输入文件过滤掉 Gene 列并保持 Chromosome - Counts 列完整。

我不能在 excel 中执行此操作的原因是我的数据集非常庞大,并且每次都会使我的计算机崩溃,并且手动执行此操作非常累。

另外,我不是程序员,这就是为什么我不能为此编写脚本的原因,我过去厌倦了这是一个巨大的失败。

谢谢,

【问题讨论】:

    标签: python r filtering


    【解决方案1】:

    您只想像在 Excel 中那样过滤“基因”列,对吧?试试 R 中的子集函数。

    使用 1 个基因:

    Gene1 <- subset(df, Gene %in% c("Gene1"))
    

    df 是您在 R 中读取数据框时给它的名称。

    使用 n 基因:

    genes_of_interest <- c("gene1", "gene2", "gene3", "gene4")
    
    Genes <- subset(df, Gene %in% c(genes_of_interest))
    

    【讨论】:

    • 这是否适用于 100 个基因?
    • 不,要使用 100 个基因,您应该创建一个新变量并将其插入到上面的函数中。
    • 啊,好吧,我认为你是对的,仍然值得输入 100 个基因,而不是在 excel 上手动计算出来
    • 成功了!非常感谢!
    【解决方案2】:

    注意:您的问题可能受益于示例数据集,因为这个简单的回答可能不适用于所有数据。

    鉴于CSV文件genes.txt:

    Gene,Chromosome,Etc
    a,1,x
    b,2,x
    c,2,y
    

    命令
    awk -F, 'BEGIN {OFS=","} {print $2,$3}' genes.txt | tee genes-edit.txt

    将打印

    Chromosome,Etc
    1,x
    2,x
    2,y
    

    并将其输出到文件genes-edit.txt

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-03
      • 2017-09-27
      • 1970-01-01
      • 2020-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多