2013-11-20 32 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) 

*在方括号中,它会被视为字符,则任何值.*直到字符串$将被删除的结束。