Thank you very much for the answer. I just solved the problem by writing a loop for grep(), so that R runs through the ID list one by one. Probably it is not the ideal method, but still I can now proceed to further work.
William Dunlap wrote: > >> -----Original Message----- >> From: r-help-boun...@r-project.org >> [mailto:r-help-boun...@r-project.org] On Behalf Of jim holtman >> Sent: Wednesday, August 05, 2009 5:23 AM >> To: Rnewbie >> Cc: r-help@r-project.org >> Subject: Re: [R] problem with pattern matching >> >> I think you want to use either 'match' or '%in%' >> >> x <- dataframe$ID %in% list$ID # TRUE if it is in list > > grep(pattern,text) expects that pattern is a scalar string. > It, like quite a few other R functions, will not alert you if > you pass it several strings: it silently ignores all but the > first. S+'s grep() will throw an errorg if length(pattern)!=0. > E.g., > > RS> grep(pattern=c("a+", "b+"), c("cat","dog","bear"), value=TRUE) > S+: Problem in regexpr(pattern, text): pattern should be a single > character string, length is 2 > S+: Use traceback() to see the call stack > R : [1] "cat" "bear" > > I think it would be better if this error were caught at runtime. > R does catch the 0-length argument, but gives a pretty generic > error message (perhaps to make translations easier): > > RS> grep(pattern=character(), c("cat","dog","beet")) > S+: Problem in regexpr(pattern, text): pattern should be a single > character string, length is 0 > S+: Use traceback() to see the call stack > R : Error in grep(pattern = character(), c("cat", "dog", "beet")) : > R : invalid argument > > Bill Dunlap > TIBCO Software Inc - Spotfire Division > wdunlap tibco.com > >> >> On Wed, Aug 5, 2009 at 5:36 AM, Rnewbie<xua...@yahoo.com> wrote: >> > >> > I wanted to extract my interested rows from a dataframe. I used: >> > >> > grep(list$ID, dataframe$ID, value=T) #list contains a list >> of my interested >> > IDs >> > >> > I got one match in return, which is the very first ID in >> list. It seems the >> > matching process just stopped, once the first match was found. >> > >> > >> > >> > David Winsemius wrote: >> >> >> >> >> >> On Aug 4, 2009, at 11:16 AM, Rnewbie wrote: >> >> >> >>> >> >>> dear all, >> >>> >> >>> I got a problem with pattern matching using grep. I >> extracted a list >> >>> of >> >>> characters from a data frame, and I tried to match this list of >> >>> characters >> >>> to a column from another data frame. In return, I got only one >> >>> match, but >> >>> there should be far more matches. Any ideas what has gone wrong? >> >> >> >> In general this falls into the category of a request to "read my >> >> mind". One, out of probably an infinite number, of ways to >> get such a >> >> result is to use if() when you needed ifelse(). >> >> >> >>> >> >>> Another question, if I also want to match the whole of >> the elements >> >>> against >> >>> the non-initial parts of the elements in another table. Which >> >>> command should >> >>> I use? >> >> >> >> Cannot even assign a semantic meaning to that one. What is >> are "non- >> >> initial parts of the elements of another table"? >> >> >> >> >> >> ****************************************************************** >> >>> .... provide commented, minimal, self-contained, >> reproducible code. >> >> ****************************************************************** >> >>> >> >>> Thanks >> >> >> >> David Winsemius, MD >> >> Heritage Laboratories >> >> West Hartford, CT >> >> >> >> ______________________________________________ >> >> R-help@r-project.org mailing list >> >> https://stat.ethz.ch/mailman/listinfo/r-help >> >> PLEASE do read the posting guide >> >> http://www.R-project.org/posting-guide.html >> >> and provide commented, minimal, self-contained, reproducible code. >> >> >> >> >> > >> > -- >> > View this message in context: >> http://www.nabble.com/problem-with-pattern-matching-tp24810298 >> p24823683.html >> > Sent from the R help mailing list archive at Nabble.com. >> > >> > ______________________________________________ >> > R-help@r-project.org mailing list >> > https://stat.ethz.ch/mailman/listinfo/r-help >> > PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> > and provide commented, minimal, self-contained, reproducible code. >> > >> >> >> >> -- >> Jim Holtman >> Cincinnati, OH >> +1 513 646 9390 >> >> What is the problem that you are trying to solve? >> >> ______________________________________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > > -- View this message in context: http://www.nabble.com/problem-with-pattern-matching-tp24810298p24832485.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.