try this
> x <- read.table(text = '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', header = TRUE, as.is = TRUE) > x$X3 <- c(0, diff(x$ID) <= 0) > x ID X1 X2 X3 1 1 A 12 0 2 2 A 6 0 3 3 A 10 0 4 1 B 17 1 5 2 B 19 0 6 1 C 22 1 7 1 D 13 1 8 2 D 19 0 9 3 D 21 0 On Mon, Jan 7, 2013 at 8:33 AM, 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]) > > but it is not so simple! > > > thanks! > Paolo > > ______________________________________________ > 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. -- Jim Holtman Data Munger Guru What is the problem that you are trying to solve? Tell me what you want to do, not how you want to do it. ______________________________________________ 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.