
Thanks Petr
then using 
unlist(x1[,2]) 
I am able to create the vector I need to add to the dataframe.
Didn´t think of this approach.
Best,
JT

> Date: Tue, 4 Sep 2012 04:47:11 -0700
> From: smartpink111@yahoo.com
> Subject: Re: [R] Create a function to number each repeated visit or measurements
> To: tintin_jb@hotmail.com
> CC: petr.pikal@precheza.cz; r-help@r-project.org
> 
> Hi,
> 
> May be you can also use ?aggregate():
> x1<-aggregate(x,list(x),function(x) seq_along(x)-1)
> # Group.1                                                            x
> #1       a                                          0, 1, 2, 3, 4, 5, 6
> #2       b                                             0, 1, 2, 3, 4, 5
> #3       c                                    0, 1, 2, 3, 4, 5, 6, 7, 8
> #4       d                                 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
> #5       e 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
> A.K.
> 
> 
> 
> ----- Original Message -----
> From: PIKAL Petr <petr.pikal@precheza.cz>
> To: Jon Toledo <tintin_jb@hotmail.com>; "r-help@r-project.org" <r-help@r-project.org>
> Cc: 
> Sent: Tuesday, September 4, 2012 7:07 AM
> Subject: Re: [R] Create a function to number each repeated visit or measurements
> 
> Hi
> 
> You did not provided any suitable data. 
> 
> x<-sort(sample(letters[1:5], 50, rep=T))
> unlist(lapply(split(x,x), function(x) (1:length(x))-1))
> 
> gives you a vector of indices from 0 to n for sorted vector x.
> 
> Regards
> Petr
> 
> 
> > -----Original Message-----
> > From: r-help-bounces@r-project.org [mailto:r-help-bounces@r-
> > project.org] On Behalf Of Jon Toledo
> > Sent: Tuesday, September 04, 2012 7:59 AM
> > To: r-help@r-project.org
> > Subject: [R] Create a function to number each repeated visit or
> > measurements
> > 
> > 
> > Hi dear R list members,
> > I am trying to create a numerical variable that tracks the
> > visits/entries that a subject has had. For example having a database of
> > repeated serial measurements that are ordered by subject and time. So I
> > would get a variable that says 0 for baseline visit/measurement, 1 for
> > the second etc.
> > In my case the unique identifier for each subject is AreaID Will the
> > following code I can number the visits as long as I create as many
> > lines as visits.
> > But there is probably a way of coding a function or maybe there is
> > already a function.
> > DUP<-rep(0,length(AreaID))DUP[2:length(DUP)]<-
> > sapply(2:(length(AreaID),function(x) ifelse(AreaID[x]==AreaID[x-
> > 1],1,DUP[x]))DUP[3:length(DUP)]<-sapply(3:(
> > length(AreaID),function(x) ifelse(AreaID[x]==AreaID[x-2],2,DUP[x]))
> > My Guess was:
> > AddLag<-function(x) {        DUP<-c(rep(0,length(x)))    for (i in
> > 1:(max(as.numeric(GraphArtDB$Measure))+2)){
> >     DUP[(i+1):length(x)]<-sapply(((i+1):length(x)),function(x)
> > ifelse(x[i]==x[x-i],i,DUP[x]))    }        return(DUP)        }
> > 
> > But it didn´t work.
> > Any suggestions?
> > 
> > Thanks in advance
> > 
> > J ToledoUPennUSA
> >     [[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.
> 
 		 	   		  
	[[alternative HTML version deleted]]


