Data Table Back-End for 'dplyr'

This implements the data table back-end for 'dplyr' so that you can seamlessly use data table and 'dplyr' together.

dtplyr is the data.table backend for dplyr. It provides S3 methods for data.table objects so that dplyr works the way you expect.

dtplyr will always be a bit slower than data.table, because it creates copies of objects rather than mutating in place (that's the dplyr philosophy). Currently, dtplyr is quite a lot slower than bare data.table because the methods aren't quite smart enough. I hope interested dplyr & data.table users from the community will help me to improve the performance.

dtplyr was extracted out of dplyr so it could evolve independently (i.e. more rapidly!) than dplyr. It also makes dplyr a little simpler, and it's easier to keep track of issues by backend.

You can install from Github with:

# install.packages("devtools")


dtplyr 0.0.1

  • distinct() gains .keep_all argument (#30, #31).

  • Slightly improve test coverage (#6).

  • Install devtools from GitHub on Travis (#32).

  • Joins return data.table. Right and full join are now implemented (#16, #19).

  • Remove warnings from tests (#4).

  • Extracted from dplyr at revision e5f2952923028803.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.0.1 by Hadley Wickham, 9 months ago

Report a bug at

Browse source code at

Authors: Hadley Wickham [aut, cre], RStudio [cph]

Documentation:   PDF Manual  

GPL (>= 2) license

Imports dplyr, data.table, lazyeval

Suggests Lahman, nycflights13, testthat, covr

Imported by ndjson, unpivotr.

Suggested by dplyr, grattan.

See at CRAN