A review of data.table (1.7.10)



data.table is a perfect combination of useability and speed. The query syntax is very intuitive, the printing is smart, and the performance is much better than data.frame.

data.table provides SQL-like functionality for R that is flexible, fast, and syntactically consistent.

The time-series join capability saves me no-end of headaches - it is essential functionality for time-series analysis.

The reason I love using data.table is that it plays so well with the rest of the R language. I'm not sure exactly how Matt does it, but he's designed data.table in such a way that you end up using columns in DT[i, j, ...] largely as if they were simply any old R vector, just they happen to be confined to the DT environment/namespace. This enables one to use a huge bag of standard R tricks, as you can see by the simpler examples, as well as some more advanced ones (quote, bquote, Rpipe https://github.com/slycoder/Rpipe, functional programming constructs). Since discovering this package, I've all but stopped using data.frame, with the result being faster, more elegant, and more maintainable code.