[R] Selecting columns whose names contain "mutated" except when they also contain "non" or "un"
Martin Maechler
maechler at stat.math.ethz.ch
Fri Apr 27 10:20:09 CEST 2012
>>>>> David Winsemius <dwinsemius at comcast.net>
>>>>> on Mon, 23 Apr 2012 12:16:39 -0400 writes:
> On Apr 23, 2012, at 12:10 PM, Paul Miller wrote:
>> Hello All,
>>
>> Started out awhile ago trying to select columns in a
>> dataframe whose names contain some variation of the word
>> "mutant" using code like:
>>
>> names(KRASyn)[grep("muta", names(KRASyn))]
>>
>> The idea then would be to add together the various
>> columns using code like:
>>
>> KRASyn$Mutant_comb <- rowSums(KRASyn[grep("muta",
>> names(KRASyn))])
>>
>> What I discovered though, is that this selects columns
>> like "nonmutated" and "unmutated" as well as columns like
>> "mutated", "mutation", and "mutational".
>>
>> So I'd like to know how to select columns that have some
>> variation of the word "mutant" without the "non" or the
>> "un". I've been looking around for an example of how to
>> do that but haven't found anything yet.
>>
>> Can anyone show me how to select the columns I need?
> If you want only columns whose names _begin_ with "muta"
> then add the "^" character at the beginning of your
> pattern:
> names(KRASyn)[grep("^muta", names(KRASyn))]
> (This should be explained on the ?regex page.)
It *is* ! Search for "beginning" and you're there.
Martin
> David Winsemius, MD West Hartford, CT
More information about the R-help
mailing list