[R] Reclassify string values

David Winsemius dwinsemius at comcast.net
Thu Nov 3 21:57:11 CET 2011

On Nov 3, 2011, at 4:40 PM, Peter Langfelder wrote:

> On Thu, Nov 3, 2011 at 1:31 PM, Zev Ross <zev at zevross.com> wrote:
>> Hi Peter,
>> Thanks for the response. What you've suggested works fine but I'm  
>> looking
>> for something that is simpler than my solution and avoids the pesky  
>> warning
>> message. Your response avoids the warning message but just as  
>> complex (if
>> not more). I just assumed there would be a function along the lines  
>> of:
>>> mydata <- c("A", "C", "A", "D", "B", "B")
>>> reclassify(mydata, inCategories=c("A", "B" ,"C", "D"),
>>>  outCategories=c("Group1", "Group1", "Group2", "Group2"))
>> [1] "Group1" "Group2" "Group1" "Group2" "Group1" "Group1"
> But of course, except sometimes you have to write the function  
> yourself.
> reclassify = function(data, inCategories, outCategories)
> {
>   outCategories[ match(data, inCategories)]
> }
> Sorry I can't make it any simpler than a 1-line solution :)

It will be difficult to beat a oneliner like that. If Zev is still  
holding out for a canned solution he might look in the 'car'' package  
where there is at least one function that does releveling and  
grouping. I foget its name at the moment but it wouldn't hurt a new  
learneR to scroll through the entire 'car' suite of functions.

David Winsemius, MD
Heritage Laboratories
West Hartford, CT

More information about the R-help mailing list