> -----Original Message----- > From: r-help-boun...@r-project.org > [mailto:r-help-boun...@r-project.org] On Behalf Of Ortiz, John > Sent: Thursday, January 20, 2011 7:13 AM > To: r-help@r-project.org > Subject: [R] Identify duplicate numbers and to increase a value > > Hi everybody. > > I want to identify duplicate numbers and to increase a value > of 0.01 for each time that it is duplicated. > > Example: > x=c(1,2,3,5,6,2,8,9,2,2) > > I want to do this: > > 1 > 2 + 0.01 > 3 > 5 > 6 > 2 + 0.02 > 8 > 9 > 2 + 0.03 > 2 + 0.04
Your words made it sound like you wanted the following > x + (ave(x, x, FUN=seq_along)-1)/100 [1] 1.00 2.00 3.00 5.00 6.00 2.01 8.00 9.00 2.02 2.03 but your example indicates that you want to alter any value that has a duplicate (including the first) so it gets a bit more complicated. E.g., > x + ave(x, x, FUN=function(xi)if(length(xi)==1) 0.0 else seq_along(xi))/100 [1] 1.00 2.01 3.00 5.00 6.00 2.02 8.00 9.00 2.03 2.04 You could also use subscripting to use ave() only on those elements of x which had duplicates. There are trickier but faster ways (based on runs) of doing this if you have very long vectors with lots of unique values. Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com > > I am trying to get something like this: > > 1 > 2.01 > 3 > 5 > 6 > 2.02 > 8 > 9 > 2.03 > 2.04 > > Actually I just know the way to identify the duplicated numbers > > rbind(x, duplicated(x) | duplicated(x, fromLast=TRUE)) > > [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] > x 1 2 3 5 6 2 8 9 2 2 > 0 1 0 0 0 1 0 0 1 1 > > Some advice? > > Thanks and regards > John Ortiz > > ______________________________________________ > 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.