[datatable-help] changing data.table by-without-by syntax to require a "by"
Eduard Antonyan
eduard.antonyan at gmail.com
Tue Apr 30 14:54:33 CEST 2013
Arun,
If the new boolean is false, the result would be the same as without it and
would be equal to current behavior of d[i][, j]. If it's true, it will only
have an effect if i is a join (I think each.i= fits slightly better for
this description than .join=) - this will replicate current underlying
behavior. If you think the cross-apply is something that could work not
just for i being a data-table but other things as well, then it would make
perfect sense to implement that action too when the bool is true.
On Apr 30, 2013, at 2:58 AM, Arunkumar Srinivasan <aragorn168b at gmail.com>
wrote:
(The earlier message was too long and was rejected.)
So, from the discussion so far, I see that Matthew is nice enough to
implement `.JOIN` or `cross.apply`. I've a couple of questions. Suppose,
DT1 <- data.table(x=c(1,1,2,3,3), y=1:5, z=6:10)
setkey(DT1, "x")
DT2 <- data.table(x=1)
DT1[DT2, y, .JOIN=TRUE] # I guess the syntax is something like this. I
expect here the same output as current DT1[DT2, y]
The above syntax seems "okay". But my first question is what is
`.JOIN=FALSE` supposed to do under these two circumstances? Suppose,
DT1 <- data.table(x=c(1,1,2,3,3), y=1:5, z=6:10)
setkey(DT1, "x")
DT2 <- data.table(x=c(1,2,1), w=c(11:13))
# what's the output supposed to be for?
DT1[DT2, y, .JOIN=FALSE]
DT1[DT2, .JOIN = FALSE]
Depending on this I'd have to think about `drop = TRUE/FALSE`. Also, how
does it work with `subset`?
DT1[x %in% c(1,2,1), y, .JOIN=TRUE] # .JOIN is ignored?
Is this supposed to also do a "cross-apply" on the logical subset? I guess
not. So, .JOIN is an "extra" parameter that comes into play *only* when `i`
is a `data.table`?
I'd love to have some replies to these questions for me to take a stance on
`.JOIN`. Thank you.
Best,
Arun.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/datatable-help/attachments/20130430/40a2f2c4/attachment.html>
More information about the datatable-help
mailing list