if the records are in the file dupIDs.txt, then when you read them in, the IDs become factors. Coercing them to numeric gets them to assign a unique number to each factor.
So, you could try the following: dupIDs <- read.table("dupIDs.txt", header = T) dupIDs$ID2 <- cummax(as.numeric(dupIDs$ID)-1) > dupIDs ID record ID2 1 1 20 1 2 . 30 1 3 . 25 1 4 2 26 2 5 . 15 2 6 3 21 3 HTH, Andrew. On Dec 15, 12:56 pm, "Zhixin Liu" <z...@efs.mq.edu.au> wrote: > Hi R helpers, > > If I have a dataset looks like: > ID record > 1 20 > . 30 > . 25 > 2 26 > . 15 > 3 21 > 4..................... > > And I want it becomes > ID record > 1 20 > 1 30 > 1 25 > 2 26 > 2 15 > 3 21 > 4..................... > > That is, I have to duplicate IDs for those with multiple records. I am > wondering it is possible to be done in R, and I am grateful if you would like > to show me the direction. > > Many thanks! > > Zhixin > > ______________________________________________ > r-h...@r-project.org mailing listhttps://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guidehttp://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.