查找并替换特定模式

时间:2012-11-27 10:41:36

标签: r

我有一个大型data.frame,第一列看起来像:

  

“COL”
    ELOVL6
      ELOVL7
      ELP2
      EMC1(包括EG:23065)
      EPT1(包括EG:28042)
      ZEB1(包括EG:29009)

我想删除所有(包括EG:...)以获得以下输出:

  

“COL”
    ELOVL6
      ELOVL7
      ELP2
      EMC1
      EPT1
      ZEB1

关于?

的任何建议

提前多多感谢

2 个答案:

答案 0 :(得分:8)

 I suppose y your column of the data.frame

 sapply(as.list(y),function(x){gsub("(.*)\\(.*\\)", "\\1", x)})

修改

更简单

 gsub("(.*)\\(.*\\)", "\\1", x)

答案 1 :(得分:2)

你的意思是这样......

COL <- c("ELOVL7",
         "ELP2",
         "EMC1 (includes EG:23065)",
         "EPT1 (includes EG:28042)",
         "ZEB1 (includes EG:29009)")

COL <- data.frame(COL)
data.frame(COL=sapply(strsplit(as.character(COL[,1]), split=" "), '[', 1))
     COL
1 ELOVL7
2   ELP2
3   EMC1
4   EPT1
5   ZEB1