Hello Arun, Thank you for your prompt reply.
However if I use your new code, I am not getting the answer which you provided: > CH <- c("MRTZIt", "MRTZIT", "PPBZJG", "ppbzJG") > CH [1] "MRTZIt" "MRTZIT" "PPBZJG" "ppbzJG" > CH1<-sort(CH,decreasing=TRUE) > chnew<-CH1 > chnew[duplicated(toupper(CH1))]<- CH1[duplicated(toupper(CH1),fromLast=TRUE)] > sort(chnew) [1] "MRTZIT" "MRTZIT" "PPBZJG" "PPBZJG" Probably that I am missing something. Can you please help me out? Thanks and regards, On Sun, Aug 11, 2013 at 11:51 PM, arun <smartpink...@yahoo.com> wrote: > > > Hi Christofer, > > I didn't test this extensively. Looks like this works for the example you > showed. > > > CH1<-sort(CH,decreasing=TRUE) > chnew<-CH1 > chnew[duplicated(toupper(CH1))]<- > CH1[duplicated(toupper(CH1),fromLast=TRUE)] > sort(chnew) > #[1] "MRTZIt" "MRTZIt" "ppbzJG" "ppbzJG" > A.K. > > > > ________________________________ > From: Christofer Bogaso <bogaso.christo...@gmail.com> > To: Bert Gunter <gunter.ber...@gene.com> > Cc: arun <smartpink...@yahoo.com>; R help <r-help@r-project.org> > Sent: Sunday, August 11, 2013 1:54 PM > Subject: Re: [R] Working with string > > > > Thanks Bert and Arun for your help. > > As Bert already pointed out, Arun's code is working well, however except > this: > > > CH <- c("MRTZIt", "MRTZIT", "PPBZJG", "ppbzJG") > > chnew<-CH > > chnew[duplicated(toupper(CH))]<-CH[duplicated(toupper(CH),fromLast=TRUE)] > > CH > [1] "MRTZIt" "MRTZIT" "PPBZJG" "ppbzJG" > > chnew > [1] "MRTZIt" "MRTZIt" "PPBZJG" "PPBZJG" > > > However Bert's code is also working very well, except following scenario: > > > CH <- c("MRTZIt", "MRTZIT", "PPBZJG", "PPBZJG") > > caps <- CH %in% toupper(CH) > > noncaps <- CH[!caps] > > chnew <- CH > > chnew[caps] <- noncaps[match(CH[caps], toupper(noncaps))] > > CH > [1] "MRTZIt" "MRTZIT" "PPBZJG" "PPBZJG" > > chnew > [1] "MRTZIt" "MRTZIt" NA NA > > > In my case, both can be well possibilities. > > Any better pointer? > > Thanks and regards, > > > > > > On Sun, Aug 11, 2013 at 9:42 PM, Bert Gunter <gunter.ber...@gene.com> > wrote: > > Well, maybe: it assumes that the uppercase string version always > >occurs after the nonuppercase version. That's why I rejected it. > > > >However, it points out something important: details matter. The more > >one knows about the nature of the problem, the better the solution one > >can tailor -- a remark for which the response should be, "well duhhh!" > > But posters frequently seem to disregard this. > > > >-- Bert > > > > > >On Sun, Aug 11, 2013 at 8:43 AM, arun <smartpink...@yahoo.com> wrote: > >> > >> > >> Hi, > >> > >> May be this helps: > >> chnew<-CH > >> > chnew[duplicated(toupper(CH))]<-CH[duplicated(toupper(CH),fromLast=TRUE)] > >> chnew > >> #[1] "aBd" "sTb" "aBd" "dFDasd" "asd" "dFDasd" > >> A.K. > >> > >> > >> ----- Original Message ----- > >> From: Christofer Bogaso <bogaso.christo...@gmail.com> > >> To: r-help <r-help@r-project.org> > >> Cc: > >> Sent: Sunday, August 11, 2013 8:39 AM > >> Subject: [R] Working with string > >> > >> Hello again, > >> > >> Let say I have a lengthy character vector like: > >> > >> CH <- c("aBd", "sTb", "ABD", "dFDasd", "asd", "DFDASD") > >> > >> Now I want to create a vector like: > >> > >> CH_New <- c("aBd", "sTb", "aBd", "dFDasd", "asd", "dFDasd") ## the 3rd > and > >> 6th element replaced > >> > >> Basically, the goal is: > >> > >> If an element has all upper case then it will find another element with > all > >> lower case or mix of upper/lower case. Then the all-upper-case element > will > >> be replaced by that mix. If there is multiple match then chose the first > >> one. > >> > >> > >> Can somebody give me any pointer how can I achieve that? > >> > >> Thanks and regards, > >> > >> [[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. > >> > >> > >> ______________________________________________ > >> 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 > > > [[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.