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.