does this do what you want:

> dt <-data.table(col1=c(1,2,3))
> dt
   col1
1:    1
2:    2
3:    3
> dt[2:nrow(dt), col3:=dt[1:(nrow(dt) - 1), list(col1)]>2]
> dt
   col1  col3
1:    1    NA
2:    2 FALSE
3:    3 FALSE



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.

On Mon, Oct 19, 2015 at 9:59 AM, Nicolas Paris <[email protected]> wrote:

> Hello,
>
> I wonder if there is a way in data.table (or more generaly in R) to work
> on previous row without loops
> E.G. something equivalent to :
>
> dt <-data.table(col1=c(1,2,3))
> for (i in 2:nrow(dt))
> {
> dt[i,col3:=dt[i-1,list(col1)]>2]
> }
>
> Thanks a lot !
>
> _______________________________________________
> datatable-help mailing list
> [email protected]
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help
>
_______________________________________________
datatable-help mailing list
[email protected]
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help

Reply via email to