清除数据框中的基因名称

时间:2016-07-05 07:28:35

标签: regex r dataframe

我有一个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

2 个答案:

答案 0 :(得分:3)

您可以尝试使用gsub()

x <- "Gm16088  // Gm16088"

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

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

df$`Gene Symbol`

其中df是数据框的名称。

答案 1 :(得分:2)

我们也可以使用word

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

数据

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