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.

Reply via email to