2013-11-20 123 views
2

我有一個數據集至極的樣子:修剪數據,擺脫「*」

> data<-c("IGHV1-2*02 F, or IGHV1-2*03 F","IGHV3-23*01 F, or 
> IGHV3-23*04 F","IGHV2-70*01 F","IGHV7-4-1*01") 

我想保持「V1-2」的首次亮相,例如和刪除任何事情如下(包括「*」)。 所以我試過如下:

> data.substr<-substr(data,4,9) 
> data.substr1<-gsub("*","",data.substr) 

,但我仍然無法擺脫「*」,可能是因爲它用作佔位符... 有沒有人有一個想法?

+1

你必須轉義* data.substr1 <-gsub(「[/ *]」,「」,data.substr) – Troy

+0

非常感謝你特洛伊!你知道一個更簡單的方法來刪除第一個星號(包括它)後面的所有內容並保持開頭嗎? – ben

+0

這將刪除星號後的所有內容:data.substr1 <-gsub(「[/*]./*」,「」,data.substr)(不包括「/」) – ben

回答

4
gsub("[*].*$","",data) 

*在方括號中,它會被視爲字符,則任何值.*直到字符串$將被刪除的結束。