Re: [R] Problem with the grep function

From: Petr Pikal <petr.pikal_at_precheza.cz>
Date: Thu 08 Jul 2004 - 22:28:13 EST


Hi

You can use %in%

> nom%in%"b"

[1] FALSE TRUE FALSE which gives you a logical vector of exact matches

> (1:3)[nom%in%"b"]

[1] 2

or charmatch

> charmatch("b",nom)

[1] 2
> charmatch("ab",nom)

[1] 3

if you expect only one exact match.

But I expect someone can give you better answer.

Cheers
Petr

On 8 Jul 2004 at 9:20, aubert@inapg.fr wrote:

> Let me present to you my problem :
>
> I have a character vector x and I would like to obtain the indices of
> the elements of this vector that yielded exactly a match.
>
> For example, x=nom, pattern="b", I would to obtain 2 because "b" is
> on the second position.
>
> First program :
> nom <- c("a","b","ab")
> grep("b",nom)
> 2 3
>
> Then I try the option extended =FALSE (instead of TRUE by default) and
> I obtain '2 3' a second time.
>
> Please can you help me : How can I obtain only 2 in using the grep
> function (without using the match function).
>
> Thanks you
>
> Julie AUBERT
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html

Petr Pikal
petr.pikal@precheza.cz



R-help@stat.math.ethz.ch mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Thu Jul 08 22:36:16 2004

This archive was generated by hypermail 2.1.8 : Wed 03 Nov 2004 - 22:54:46 EST