, : grepl, , . | , OR, ignore.case :
methods<-c('Perfect', 'Perfect*', 'Perfect*', 'Good', 'Good','Good*')
completefile <- data.frame( Quality_score = c( methods, "bad", "terrible", "abbysmal"), foo = 1)
subset(completefile,grepl("good|perfect",Quality_score,ignore.case=TRUE))
1 Perfect 1
2 Perfect* 1
3 Perfect* 1
4 Good 1
5 Good 1
6 Good* 1
EDIT: , , ! :
subset(completefile,grepl("Good|Perfect",Quality_score))