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

Reply via email to