[datatable-help] "Within" Reversed column order?
Yike Lu
yikelu.home at gmail.com
Tue May 29 17:18:09 CEST 2012
Thinking through this, the reasons I use within:
1) Avoid chained [:=]
2) Better semantics than transform (i.e, avoid commas, have one large
expression block)
However, if i do:
X=within(X, {...}) #versus
transform(X)
is transform then more efficient?
I'm all for keeping consistency with data.frame, and I assume that's the
real reason these functions are here.
Perhaps this is really a case where we want an efficient multi-update
instead of a properly ordered within?
Or perhaps an overload on transform that allows {expr}.
On 5/28/2012 6:09 AM, Matthew Dowle wrote:
> Not sure why but it seems to be consistent with base data.frame :
>
>> DF = data.frame(a=1:3,b=4:6)
>> within(DF,{c=a*b;d=a+b})
> a b d c
> 1 1 4 5 4
> 2 2 5 7 10
> 3 3 6 9 18
> I don't mind it being raised as a bug in data.table and we'll fix it and
> and add to FAQ 2.17 as another difference to data.frame. Or maybe it
> would be clearer to remove within.data.table(). Do we need it?
>
> Matthew
More information about the datatable-help
mailing list