Hi Giovanni I am not sure if it is the correct way but
regexpr("a",as.character(df$V1))>0 [1] FALSE TRUE FALSE NA FALSE TRUE gives me the logical vector you would like to see. Cheers Petr On 5 Jan 2005 at 19:16, Giovanni Malerba wrote: > Dear R-List, > here my problem: > > a <- c("gio","gao","geo",NA,"1","alpha") > > b <- 1:6 > > data.frame(V1=a,V2=b) -> c > > c > V1 V2 > 1 gio 1 > 2 gao 2 > 3 geo 3 > 4 <NA> 4 > 5 1 5 > 6 alpha 6 > > > rownames(c) %in% grep("a",as.character(c$V1)) > [1] FALSE TRUE FALSE FALSE FALSE TRUE > > while I would like to obtain > [1] FALSE TRUE FALSE <NA> FALSE TRUE > > Is there a simple way to do this without doing things like > > rownames(c) %in% grep("a",as.character(c$V1)) -> tmp > > tmp[is.na(c$V1)]<- NA > ? > > It would be nice if grep (or another command) produced FALSE or TRUE > according to the matching rule and NA if the value is NA. I was not > able to find such a feature (just to do this in one simple > command-line :)). > > Thank you, > Giovanni Malerba. > > ______________________________________________ > R-help@stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html Petr Pikal [EMAIL PROTECTED] ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html