[R] conditional increase by increment

penguins catrsw at bas.ac.uk
Wed Jul 18 19:13:05 CEST 2012


I am trying to assign increasing trip numbers to a binary variable ("land";
1=home and 0=away) where a string of 1's shouldn't increment the trip_no
more than once. 

For example; based on 
land<-c(0,0,0,0,1,1,1,0,0,0,1,1,0,0,0,0)
the "trip_no" sequence produced should be   1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3

This is as far as I can get but Im stumped. In addition I need it to work on
data where the land variable can start on "0" or "1" for trip_no=1. Any help
would be hugely appreciated:

land<-c(0,0,0,0,1,1,1,0,0,0,1,1,0,0,0,0)
trip_no <- rep(0, length(land))
gg<-cbind(land,trip_no)

increment <- function(x){
  eval.parent(substitute(x <- x + 1))
}

    for(i in length(gg)){
      if(gg$land[[i]]==1) {
          gg$trip_no<-increment(trip_no[i])
        }
     }

--
View this message in context: http://r.789695.n4.nabble.com/conditional-increase-by-increment-tp4636910.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list