<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body bgcolor="#FFFFFF">
<div>I think this proposed  change is completely unnecessary. <br>
<br>
That a function may behave differently is entirely consistent with the various s3 /s4 methods system (although neither are used here). </div>
<div><br>
</div>
<div>I think that drop = TRUE when implemented will take care of dropping join columns. </div>
<div><br>
</div>
<div><br>
</div>
<div><br>
On 20/04/2013, at 5:54 AM, "eddi" <<a href="mailto:eduard.antonyan@gmail.com">eduard.antonyan@gmail.com</a>> wrote:<br>
<br>
</div>
<div></div>
<blockquote type="cite">
<div>Matthew Dowle suggested I put this up for a discussion here.
<p>This is continuation of the discussion that started on <a href="http://stackoverflow.com/questions/16093289/data-table-join-and-j-expression-unexpected-behavior/" target="_top" rel="nofollow" link="external">
SO</a> and resulted in <a href="https://r-forge.r-project.org/tracker/index.php?func=detail&aid=2696&group_id=240&atid=978" target="_top" rel="nofollow" link="external">
FR2696</a> (I recommend reading the latter first, as it's much more clear). </p>
<p>My case for the change boils down to the following: I believe <b>d[i, j, by = b]</b> should be always understood to mean
</p>
<p><b>"take d, apply i, return j by b"</b> </p>
<p>instead of the much more complicated current behavior, which is: </p>
<p><b>"take d, apply i, if i was not a merge, return j by b, if i was a merge, if no by, then return j by key, else if b and b == key, complain and return j by b, else return j by b"</b>
</p>
<p>I believe, while disruptive to some current users, this will make data.table much more user-friendly for any future users (one piece of evidence I would suggest for this, besides my plea, is that FAQs 1.13-1.14 (and part of 1.12) would become completely
 unnecessary). </p>
<p>This is regarding syntax only, and I do NOT propose any changes to underlying behavior, in particular the speed-up when you do a "by" by the key of the join should stay (and should be done iff by=key is present).
<br>
</p>
<hr align="left" width="300">
View this message in context: <a href="http://r.789695.n4.nabble.com/changing-data-table-by-without-by-syntax-to-require-a-by-tp4664770.html">
changing data.table by-without-by syntax to require a "by"</a><br>
Sent from the <a href="http://r.789695.n4.nabble.com/datatable-help-f2315188.html">
datatable-help mailing list archive</a> at <a href="http://Nabble.com">Nabble.com</a>.<br>
</div>
</blockquote>
<blockquote type="cite">
<div><span>_______________________________________________</span><br>
<span>datatable-help mailing list</span><br>
<span><a href="mailto:datatable-help@lists.r-forge.r-project.org">datatable-help@lists.r-forge.r-project.org</a></span><br>
<span><a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help</a></span></div>
</blockquote>
</body>
</html>