If you haven't got so much data a loop should do: while(sum(duplicated(x))>0) #if this condition is TRUE then there are still duplicates in x { x[duplicated(x)] <- x[duplicated(x)]+0.01 #using duplicated(x) to index the x vector }
Hope this helps, Regards Moritz ____________________ Moritz Grenke http://www.360mix.de -----Ursprüngliche Nachricht----- Von: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] Im Auftrag von Ortiz, John Gesendet: Donnerstag, 20. Januar 2011 16:13 An: r-help@r-project.org Betreff: [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 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.