> -----Original Message-----
> From: r-help-boun...@r-project.org [mailto:r-help-bounces@r-
> project.org] On Behalf Of Jon Toledo
> Sent: Monday, September 03, 2012 10:59 PM
> 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
> 

Your email was scrambled and therefore difficult to decipher.  However, using 
the plyr package, you could do something like

library(plyr)
ddply(your_data_frame,"AreaID",transform,visit=0:(length(AreaID)-1))


Hope this is helpful,

Dan

Daniel J. Nordlund
Washington State Department of Social and Health Services
Planning, Performance, and Accountability
Research and Data Analysis Division
Olympia, WA 98504-5204


______________________________________________
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.

Reply via email to