Thanks for all of the help! By coercing numerics to integers ahead of their usage in data.table, this has saved a good bit of time. That may be difficult to determine a priori, though: it's conceivable that a user may merge two objects, one that has a variable that uses only integer values (but type is numeric), another with a full range of fractional values (i.e. continuous, type is numeric).
In any case, as I have a number of merges, sometimes reusing some of the same input tables, this coercion had a pretty good speedup. Continuing.... > I've managed to get the code to proceed correctly by replacing the "myDT[, > > newCol := oldCol]" with: > > > > tmpCol = myDT$oldCol > > myDT$newCol = tmpCol > > > > This has avoided the issue. > > Yes, makes sense. Is myDT the result from a merge()? Or, have you changed > column names before that point using names(myDT)<-, colnames(myDT) or > similar? > I had two successive merges. I also did things like myDT[, newCol := oldCol] and myDT[, oldCol := NULL]. I do simple things like this to rename columns, but I suppose I should use names(). I take advantage of lazy evaluation and promises. :) > $ is copying the whole table, and always will. Once Chris crash bug is > fixed, please change back to :=. Will do, thanks!
_______________________________________________ datatable-help mailing list [email protected] https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help
