Thank you for the tips. I should mention that the V1 is numeric in this case but I am trying to automate the overall procedure so it may not be numeric always. Would that matter with these functions?
Sent from my iPhone On Jan 24, 2013, at 6:34 PM, arun <smartpink...@yahoo.com> wrote: > Hi, > You could do this: > test<-read.table(text=" > V1 > 1 1 > 2 1 > 3 1 > 4 2 > 5 2 > 6 2 > 7 1 > 8 1 > 9 1 > 10 2 > 11 2 > 12 2 > ",sep="",header=T) > > test$Group<-cumsum(abs(c(0,diff(test[,1]))))+1 > test > # V1 Group > #1 1 1 > #2 1 1 > #3 1 1 > #4 2 2 > #5 2 2 > #6 2 2 > #7 1 3 > # 1 3 > #9 1 3 > #10 2 4 > #11 2 4 > #12 2 4 > A.K. > > > > ----- Original Message ----- > From: Jeffrey Fuerte <fuert...@vcu.edu> > To: r-help@r-project.org > Cc: > Sent: Thursday, January 24, 2013 4:20 PM > Subject: [R] ifelse to speed up loop? > > Hello, > > I'm not sure how to explain what I'm looking for but essentially I have a > test dataset that looks like this: > > test: > V1 > 1 1 > 2 1 > 3 1 > 4 2 > 5 2 > 6 2 > 7 1 > 8 1 > 9 1 > 10 2 > 11 2 > 12 2 > > And what I want to be able to do is create another column that captures a > "grouping" variable that looks like this: > > test > V1 group > 1 1 1 > 2 1 1 > 3 1 1 > 4 2 2 > 5 2 2 > 6 2 2 > 7 1 3 > 8 1 3 > 9 1 3 > 10 2 4 > 11 2 4 > 12 2 4 > > So, it's keeping track of the changes in V1, but even though V1 could be > the same in different instances, the group is treating it as a new group. > I have written a loop that does what I want, but this takes too long to > run, so I was hoping for either a faster approach or an ifelse statement. > Any ideas? > > By the loop I was using looks like this: > > groupings <- 1 > test$group[1] <- groupings > for (i in 2:length(test$V1)) > { > if (test$V1[i]==test$V1[i-1]) > { > test$group[i] <- groupings > } else { > groupings <- groupings+1 > test$group[i] <- groupings > } > } > > Thanks for the help. > > [[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. > ______________________________________________ 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.