[datatable-help] changing data.table by-without-by syntax to require a "by"
Matthew Dowle
mdowle at mdowle.plus.com
Thu Apr 25 00:41:22 CEST 2013
Where I meant CROSS APPLY not CROSS BY (typo) and incorrect with 2
r's. I picked up on that because out of the entire page you seemed to
quote a sentence which made no sense. The rest of the article looks
great.
On 24.04.2013 23:28, Matthew Dowle wrote:
> That sentence on
that linked webpage seems incorect English, since table is a noun not a
verb. Should "table" be "join" perhaps?
>
> Anyway, by-without-by is
often used with join inherited scope (JIS). For example, translating
their example :
>
> 1> X = data.table(a=1:3,b=1:15, key="a")
> 1> X
>
a b
> 1: 1 1
> 2: 1 4
> 3: 1 7
> 4: 1 10
> 5: 1 13
> 6: 2 2
> 7: 2 5
>
8: 2 8
> 9: 2 11
> 10: 2 14
> 11: 3 3
> 12: 3 6
> 13: 3 9
> 14: 3 12
>
15: 3 15
> 1> Y = data.table(a=c(1,2), top=c(3,4))
> 1> Y
> a top
> 1: 1
3
> 2: 2 4
> 1> X[Y, head(.SD,i.top)]
> a b
> 1: 1 1
> 2: 1 4
> 3: 1 7
>
4: 2 2
> 5: 2 5
> 6: 2 8
> 7: 2 11
> 1>
>
> If there was no
by-without-by (analogous to CROSS BY), then how would that be done?
>
>
On 24.04.2013 22:22, Eduard Antonyan wrote:
>
>> By that you mean
current behavior? You'd get current behavior by explicitly specifying
the appropriate "by" (i.e. "by" equal to the key).
>> Btw, I'm trying
to understand SQL CROSS APPLY vs JOIN using
http://explainextended.com/2009/07/16/inner-join-vs-cross-apply/ [8],
and I can't figure out how by-without-by (or with by-with-by for that
matter:) ) helps with e.g. the first example there:
>> "We table table1
and table2. table1 has a column called rowcount.
>>
>> For each row
from table1 we need to select first rowcount rows from table2, ordered
by table2.id [9]"
>>
>> On Wed, Apr 24, 2013 at 4:01 PM, Matthew Dowle
<mdowle at mdowle.plus.com [10]> wrote:
>>
>>> But then what would be
analogous to CROSS APPLY in SQL?
>>>
>>> > I'd agree with Eduard,
although it's probably too late to change behavior
>>> > now. Maybe for
data.table.2? Eduard's proposal seems more closely
>>> > aligned with
SQL behavior as well (SELECT/JOIN, then GROUP, but only if
>>> >
requested).
>>> >
>>> > S.
>>> >
>>> >> Date: Mon, 22 Apr 2013 08:17:59
-0700 >> From: eduard.antonyan at gmail.com [1]
>>> >> To:
datatable-help at lists.r-forge.r-project.org [2]
>>>
>>>>> Subject: Re:
[datatable-help] changing data.table by-without-by
>>> >> syntax to
require a "by"
>>> >>
>>> >> I think you're missing the point Michael.
Just because it's possible to
>>> >> do it
>>> >> the way it's done now,
doesn't mean that's the best way, as I've tried
>>> >> to
>>> >> argue
in the OP. I don't think you've addressed the issue of unnecessary
>>>
>> complexity pointed out in OP.
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >>
View this message in context:
>>> >>
http://r.789695.n4.nabble.com/changing-data-table-by-without-by-syntax-to-require-a-by-tp4664770p4664990.html
[3]
>>> >> Sent from the datatable-help mailing list archive at
Nabble.com.
>>> >> _______________________________________________
>>>
>> datatable-help mailing list >>
datatable-help at lists.r-forge.r-project.org [4]
>>>
>>>>>
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help
[5]
>>> > _______________________________________________
>>> >
datatable-help mailing list > datatable-help at lists.r-forge.r-project.org
[6]
>>> >
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help
[7]
Links:
------
[1] mailto:eduard.antonyan at gmail.com
[2]
mailto:datatable-help at lists.r-forge.r-project.org
[3]
http://r.789695.n4.nabble.com/changing-data-table-by-without-by-syntax-to-require-a-by-tp4664770p4664990.html
[4]
mailto:datatable-help at lists.r-forge.r-project.org
[5]
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help
[6]
mailto:datatable-help at lists.r-forge.r-project.org
[7]
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help
[8]
http://explainextended.com/2009/07/16/inner-join-vs-cross-apply/
[9]
http://table2.id
[10] mailto:mdowle at mdowle.plus.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/datatable-help/attachments/20130424/2cc7c68e/attachment.html>
More information about the datatable-help
mailing list