Of course, you can put it on one line by simple chaining, too: DT[,v := 0][ DT[,.I[1],by=id]$V1, v := 2]
There's a feature request that would allow simpler syntax: https://github.com/Rdatatable/data.table/issues/571 (not yet possible:) DT[,v := 0][, v[1] := 2, by=id] --Frank E. On Tue, Aug 25, 2015 at 12:27 PM, Chris Neff <[email protected]> wrote: > You almost had it right with number 2: > > DT[,value:=ifelse(!duplicated(id),0,2)] > > > On Tue, Aug 25, 2015 at 12:26 PM Eduard Antonyan < > [email protected]> wrote: > >> DT[, value := c(2, rep(0, .N-1)), by = id] >> >> On Tue, Aug 25, 2015 at 11:17 AM, Frank S. <[email protected]> wrote: >> >>> Hello everyone, >>> I ask a question directly linked with other question which I was >>> answered in this list a year ago. Let the data table be: >>> DT <- data.table(obs=1:7, id=c(1,1,1,4,4,4,4), time=c(3,4,7,5,8,10,15)) >>> >>> Now I add a new column, called "value", which contains all zeros except >>> the first observation within each "id" group, which is equal to 2. >>> One possible solution I was given is the following two code lines: >>> > DT[ , value:=0] >>> > DT[!duplicated(id), value:=2] >>> >>> But I wonder if it is possible to do the same ON A SINGLE CODE LINE. I >>> have tried different options but they doesn't work: >>> 1) DT[ , value:= c(0, 2), by=id] >>> 2) DT[ , value:= ifelse( DT[!duplicated(id)]==T, 2, 0), by=id] >>> >>> Many thanks! >>> >>> _______________________________________________ >>> 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 > > > _______________________________________________ > 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
