Refer to previous row
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
<donatellipaolo at 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 at 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.