Like this? group<- c(1,1,1,1,2,2,2,2,2,3,3,3,3,3,3) var2<- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) data<-data.frame(group, var2) data ddply(data,"group",transform,ID=1:length(group)) Felipe D. Carrillo Supervisory Fishery Biologist Department of the Interior US Fish & Wildlife Service California, USA
----- Original Message ---- > From: Alexander Schwall <alexander.schw...@gmail.com> > To: r-help@r-project.org > Sent: Tue, March 2, 2010 9:53:19 AM > Subject: [R] adding row ID numbers by group > > Hello R community, I am hoping for some help with the following > problem. I have a data frame containing various groups. These groups are > identified by a grouping variable. I would like to add a sequential ID number > to each group to later sort these individuals within each group by this ID > number. Here is what the final result should look like: ID > group var2 1 1 1 2 > 1 2 3 1 3 4 > 1 4 1 2 5 2 > 2 6 3 2 > 7 4 2 8 5 2 > 9 1 3 10 2 3 > 11 3 3 12 4 3 > 13 5 3 14 I have created the following > code to loop through this and compare a given row with the following row for > the grouping variable. If a given row would be different from the then > following row, the ID number would be reset and I would start counting up > again. The problem that I am encountering that at the bottom of the data > frame the if statement runs out of a condition against which to compare the > last row. Here is what I did: group<- > c(1,1,1,1,2,2,2,2,2,3,3,3,3,3,3) var2<- > c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) data<-data.frame(group, > var2) data #IDN is the desired ID number by group IDN > <-numeric(length(test$var2)) IDN for (i in > 1:(length(data$group))) { if(data[i,1] < > (length(data$group))){ if(data[i,1] == > data[i+1,1]){ IDN[i]<- > sum(IDN[i-1],1)} else{ > IDN[i]<- -55} #for now an arbitrary > value } if(data[i,1] == > (length(data$group))) { IDN[i] <- 99 > #for now an arbitrary value } > } IDN Is there maybe an easier way to do this? Any > thoughts would be very appreciated since I am running out of > ideas. Thanks Alexander [[alternative HTML > version deleted]] ______________________________________________ > ymailto="mailto:R-help@r-project.org" > href="mailto:R-help@r-project.org">R-help@r-project.org mailing list > href="https://stat.ethz.ch/mailman/listinfo/r-help" target=_blank > >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.