[R] Problem with the grep function
Petr Pikal
petr.pikal at precheza.cz
Thu Jul 8 14:28:13 CEST 2004
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 at 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 at 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 at precheza.cz
More information about the R-help
mailing list