David is right, but it's trivial if x is a factor (which is the default when you create character columns in a data frame).
(Note also how to use rep() properly -- read the docs: ?rep) x <- factor(rep(LETTERS[1:3],e=3)) x [1] A A A B B B C C C Levels: A B C levels(x) <- 1:3 x [1] 1 1 1 2 2 2 3 3 3 Levels: 1 2 3 Cheers, Bert On Fri, Jul 12, 2013 at 3:05 PM, David Winsemius <dwinsem...@comcast.net> wrote: > > On Jul 12, 2013, at 2:56 PM, Trevor Davies wrote: > >> I always think that replying to your own r-help feels silly but it's good >> to close these things out. >> >> here's my hack solution: >> >> x1<-merge(data.frame(A=x),data.frame(A=c('x','y','z'),B=c(1,2,2)),by='A')[,2] > > That fairly tortured compared with: > > x <- c(rep('x',3),rep('y',3),rep('z',3)) > > x1b <- as.character(1:3)[ match(x, c("x","y","z") ) ] > x1b > > Furthermore, your solution does not deliver the answer you expected. > > -- > David. > >> >> Well that works and should for my more complex situation. If anyone has >> something a little less heavy handed I'd live to hear it. >> >> Have a great weekend. >> >> >> On Fri, Jul 12, 2013 at 2:18 PM, Trevor Davies >> <davies.tre...@gmail.com>wrote: >> >>> >>> I'm trying to find a function that can replace multiple instances of >>> values or characters in a vector in a one step operation. As an example, >>> the vector: >>> >>> x <- c(rep('x',3),rep('y',3),rep('z',3)) >>> >>>> x >>> [1] "x" "x" "x" "y" "y" "y" "z" "z" "z" >>> >>> I would simply like to replace all of the x's with 1's, y:2 & z:3 (or >>> other characters). >>> i.e: >>>> x >>> [1] "1" "1" "1" "2" "2" "2" "3" "3" "3" >>> >>> Of course, I'm aware of the replace function but this obviously gets a >>> little unwieldy when there are : >>> x<-replace(x,x=='x',1) >>> x<-replace(x,y=='x',2) >>> x<-replace(x,z=='x',3) >>> >>> but I can't figure out how to do it in a one stop operation. My real >>> needs is more complex obviously. This is one of those seemingly simple >>> r-operations that should be obvious but I'm coming up empty on this one. >>> >>> Thanks for the help. >>> Trevor >>> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> 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. > > David Winsemius > Alameda, CA, USA > > ______________________________________________ > 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. -- Bert Gunter Genentech Nonclinical Biostatistics Internal Contact Info: Phone: 467-7374 Website: http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm ______________________________________________ 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.