[R] Wildcard for indexing?

Sarah Goslee sarah.goslee at gmail.com
Tue Feb 14 16:18:33 CET 2012


Hi,

You should probably do a bit of reading about regular expressions, but
here's one way:

On Tue, Feb 14, 2012 at 10:10 AM, Johannes Radinger <JRadinger at gmx.at> wrote:
> Hi,
>
> -------- Original-Nachricht --------
>> Datum: Tue, 14 Feb 2012 09:59:39 -0500
>> Von: "R. Michael Weylandt" <michael.weylandt at gmail.com>
>> An: Johannes Radinger <JRadinger at gmx.at>
>> CC: R-help at r-project.org
>> Betreff: Re: [R] Wildcard for indexing?
>
>> I think the grep()-family (regular expressions) will be the easiest
>> way to do this, though it sounds like you might prefer grepl() which
>> returns a logical vector:
>>
>> ^[AB] # Starts with either an A or a B
>> ^A_ # Starting with A_
>>
>> a <-  c("A_A","A_B","C_A","BB","A_Asd"
>> grepl("^[AB]", a)
>> grepl("^A_")
>
> Yes grepl() is what I am looking for.
> is there also something like an OR statement e.g. if I want to
> select for elements that start with "as" OR "df"?

> a <- c("as1", "bb", "as2", "cc", "df", "aa", "dd", "sdf")
> grepl("^as|^df", a)
[1]  TRUE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE


The square brackets match any of those characters, so are good
for single characters. For more complex patterns, | is the or symbol.
^ marks the beginning.

Sarah

-- 
Sarah Goslee
http://www.functionaldiversity.org



More information about the R-help mailing list