On 07-01-2013, at 14:33, Paolo Donatelli <donatellipa...@gmail.com> wrote:
> Hi all, > > I have a very basic doubt -- but still, I am a newby! > > My question is about referring to the previous row: in a sample as the > following... > > ID X1 X2 > 1 A 12 > 2 A 6 > 3 A 10 > 1 B 17 > 2 B 19 > 1 C 22 > 1 D 13 > 2 D 19 > 3 D 21 > > ... I would like to create a dummy variable equal to 1 whenever the > value of ID of the current row is lower or equal than the value of ID > of the previous row -- check the new vector X3 I'd like to obtain: > > ID X1 X2 X3 > 1 A 12 0 > 2 A 6 0 > 3 A 10 0 > 1 B 17 1 > 2 B 19 0 > 1 C 22 1 > 1 D 13 1 > 2 D 19 0 > 3 D 21 0 > > I have searched a lot without finding a decent and working solution. I > suppose it is just some basic matter of indexing language, something > like > > X3<- as.numeric ( ID[n] <= ID[n-1]) Assuming your data are in a data.frame called dat this will work dat$X3 <- c(0, diff(dat$ID)<=0) Berend ______________________________________________ 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.