我有一个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
答案 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")