Monday, June 17, 2013

gsub and strplit on vector of names

#I want to remove '_alpha' in this list
myInput = c( "afg3_alpha", "alg12_alpha", "dbp3_alpha",  "elp4_alpha",  "fob1_alpha",  "gpr1_alpha")

#my current solution

tmpsplit = strsplit(myInput, '_')
tmp = NA
for (item in tmpsplit){
  tmp = c(tmp, item[1])
}
results1  = tmp[-1];   
#this is what I need, but I want a better solution. 

#Here is what I come up with, but it is pretty awkward

tmp3 = lapply(myInput, FUN=function(x){strsplit(x, '_')[[1]][1]})
results2 = unlist(tmp3)

#gsub is the best solution
gsub("_.*", "", myInput)


No comments:

Post a Comment