[datatable-help] changing data.table by-without-by syntax to require a "by"

Arunkumar Srinivasan aragorn168b at gmail.com
Wed May 7 12:10:57 CEST 2014


The change of the defaults in 1.9.3 breaks existing code, which shoud not be 
(see. DT FAQ 1.8).
Thanks. Yes, that's what will be the case when it hits CRAN. There will be an option to use the older feature, IIUC. Matt can clarify this point further.

I know that 1.9.3 is a development version, but I can't use 1.9.2 due to 
http://r.789695.n4.nabble.com/Change-in-list-behavior-inside-join-td4687469.html 
Can you show us an example that 1.9.2 doesn't but 1.9.3 does? 

In your case, you should be using stable 1.9.2 version (at least until counter measures are in place for by=.EACHI). And you should ask your administrators to downgrade R, if you don't want that bug to bite you, until this is fixed. But I'm repeating myself.

Arun

From: nachti kpm.nachtmann at gmail.com
Reply: nachti kpm.nachtmann at gmail.com
Date: May 7, 2014 at 11:02:30 AM
To: datatable-help at lists.r-forge.r-project.org datatable-help at lists.r-forge.r-project.org
Subject:  Re: [datatable-help] changing data.table by-without-by syntax to require a "by"  

The change of the defaults in 1.9.3 breaks existing code, which shoud not be  
(see. DT FAQ 1.8). Would be fine if there is a possibility that code works  
with different versions of DT and R (e.g. for usage in packages).  
See the example here: https://gist.github.com/nachti/34b2dc46868b9268c5af  
<https://gist.github.com/nachti/34b2dc46868b9268c5af>  
I know that 1.9.3 is a development version, but I can't use 1.9.2 due to  
http://r.789695.n4.nabble.com/Change-in-list-behavior-inside-join-td4687469.html  
<http://r.789695.n4.nabble.com/Change-in-list-behavior-inside-join-td4687469.html>  
and I can't switch back to an older R-Version because of missing permissions  
on the server. I have to use a different versions of R and DT parallel.  
If I rewrite my code that it works for 1.9.3, it doesn't work with 1.8.10  
any more. (see also  
http://stackoverflow.com/questions/23289646/update-subset-of-data-table-based-on-join-using-data-table-1-9-3-does-not-work-a  
<http://stackoverflow.com/questions/23289646/update-subset-of-data-table-based-on-join-using-data-table-1-9-3-does-not-work-a>  
by = key(something) is not the same as by = .EACHI, but even if I can get a  
solution using the first, 1.8.10 gives a warning, that I shouldn't do that:  

In addition: Warning message:  
In `[.data.table` ...:  
by is not necessary in this query; it equals all the join columns in the  
same order. j is already evaluated by group of x that each row of i matches  
to (by-without-by, see ?data.table). Setting by will be slower because a  
subset of x is taken and then grouped again. Consider removing by, or  
changing it.  

nachti  



--  
View this message in context: http://r.789695.n4.nabble.com/changing-data-table-by-without-by-syntax-to-require-a-by-tp4664770p4690100.html  
Sent from the datatable-help mailing list archive at Nabble.com.  
_______________________________________________  
datatable-help mailing list  
datatable-help at lists.r-forge.r-project.org  
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/datatable-help/attachments/20140507/cb19459e/attachment.html>


More information about the datatable-help mailing list