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"

Zev


On 11/3/2011 3:13 PM, Peter Langfelder wrote:
On Thu, Nov 3, 2011 at 11:59 AM, Zev Ross<z...@zevross.com>  wrote:
Hi All,

Is there a simple way to convert a string such as c("A", "B" ,"C", "D") to a
string of c("Group1", "Group1", "Group2", "Group2"). Naturally I could use
the factor function as below but I don't like seeing that warning message
(and I don't want to turn off warning messages). Perhaps a function called
"reclassify" or "recategorize"?

Zev

x<-LETTERS[1:4]
x2<-as.character(factor(x, levels=LETTERS[1:4], labels=rep(c("Group1",
"Group2"), each=2)))

Warning message:
In `levels<-`(`*tmp*`, value = c("Group1", "Group1", "Group2", "Group2" :
  duplicated levels will not be allowed in factors anymore
If you want to "translate", why not first build a translation table

tt = cbind(LETTERS[1:4], c("group1", "group1", "group2", "group2"))

then apply it on an example:

xx = sample(LETTERS[1:4], 20, replace = TRUE)

translation = tt[ match(xx, tt[, 1]), 2]

translation
  [1] "group2" "group2" "group2" "group2" "group2" "group1" "group2" "group1"
  [9] "group2" "group1" "group1" "group2" "group2" "group2" "group1" "group2"
[17] "group2" "group1" "group1" "group2"

Or did I misunderstand your intent?

Peter


--
Zev Ross
ZevRoss Spatial Analysis
120 N Aurora, Suite 3A
Ithaca, NY 14850
607-277-0004 (phone)
866-877-3690 (fax, toll-free)
z...@zevross.com

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to