【问题标题】:Clean the gene names in a dataframe清理数据框中的基因名称
【发布时间】:2016-07-05 07:28:35
【问题描述】:

我有一个如下所示的 R 数据框:

       Gene Symbol       Prom 1       Prom 2    Prom 3
 1 Gm16088  // Gm16088    7.168819  7.410547  7.634662
 2             Gm26206    7.006416  6.824151  6.941721
 3   Gm1992  // Gm1992    6.750240  6.591182  6.479798
 4             Gm10568    4.390371  4.496734  4.672061
 5             Gm22307   13.196217 13.157953 13.601210
 6 Gm16041  // Gm16041    5.146015  5.450036  5.388205
 7 Gm17101  // Gm17101    6.434086  6.752058  6.603427

在基因符号列中,我有一些基因符号在数据框的同一个单元格中重复多次。在某些行中,基因符号重复了一百次。有没有办法解决这个问题,以便有这样的行:

Gene Symbol       Prom 1       Prom 2    Prom 3
 1 Gm16088       7.168819  7.410547  7.634662

而不是像这样:

Gene Symbol       Prom 1       Prom 2    Prom 3
 1 Gm16088  // Gm16088    7.168819  7.410547  7.634662

【问题讨论】:

    标签: regex r dataframe


    【解决方案1】:

    你可以试试gsub():

    x <- "Gm16088  // Gm16088"
    
    > gsub("\\s*//.*", "", x)
    [1] "Gm16088"
    

    在您的实际代码中,您可以将 x 替换为:

    df$`Gene Symbol`
    

    其中df 是数据框的名称。

    【讨论】:

      【解决方案2】:

      我们也可以使用word

      library(stringr)
      word(x, 1)
      #[1] "Gm16088" "Gm26206"
      

      数据

       x <- c("Gm16088  // Gm16088", "Gm26206")
      

      【讨论】:

        猜你喜欢
        • 2018-10-19
        • 1970-01-01
        • 1970-01-01
        • 2015-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-08
        • 1970-01-01
        相关资源
        最近更新 更多