Skip to content

dtplyr (development version)

New features

Minor improvements and bug fixes

  • Can use .data in lead()/lag() (#441)

  • Can namespace calls to desc() (#427).

  • case_when(.default = ) now works.

  • .by no longer alters grouping in prior steps (#439)

  • Arguments to $ and [[ calls are no longer prepended with .. (#434)

  • Grouping now works with non-standard column names (#451)

  • print.dtplyr_step() gains n, max_extra_cols, and max_footer_lines args (#464)

dtplyr 1.3.1

CRAN release: 2023-03-22

  • Fix for failing R CMD check.

  • dtplyr no longer directly depends on crayon.

dtplyr 1.3.0

CRAN release: 2023-02-24

Breaking changes

  • dplyr and tidyr verbs no longer dispatch to dtplyr translations when used directly on data.table objects. lazy_dt() must now explicitly be called by the user (#312).

New features

Performance improvements

  • arrange() now utilizes setorder() when possible for improved performance (#364).

  • select() now drops columns by reference when possible for improved performance (#367).

  • slice() uses an intermediate variable to reduce computation time of row selection (#377).

Minor improvements and bug fixes

dtplyr 1.2.2

CRAN release: 2022-08-20

  • Hot patch release to resolve R CMD check failures.

dtplyr 1.2.1

CRAN release: 2022-01-19

  • Fix for upcoming rlang release.

dtplyr 1.2.0

CRAN release: 2021-12-05

New authors

@markfairbanks, @mgirlich, and @eutwt are now dtplyr authors in recognition of their significant and sustained contributions. Along with @eutwt, they supplied the bulk of the improvements in this release!

Minor improvements and bug fixes

dtplyr 1.1.0

CRAN release: 2021-02-20

New features

Translation improvements

  • compute() now creates an intermediate assignment within the translation. This will generally have little impact on performance but it allows you to use intermediate variables to simplify complex translations.

  • case_when() is now translated to fcase() (#190).

  • cur_data() (.SD), cur_group() (.BY), cur_group_id() (.GRP), and cur_group_rows() (.I`) are now tranlsated to their data.table equivalents (#166).

  • filter() on grouped data nows use a much faster translation using on .I rather than .SD (and requiring an intermediate assignment) (#176). Thanks to suggestion from @myoung3 and @ColeMiller1.

  • Translation of individual expressions:

    • x[[1]] is now translated correctly.

    • Anonymous functions are now preserved (@smingerson, #155)

    • Environment variables used in the i argument of [.data.table are now correctly inlined when not in the global environment (#164).

    • T and F are correctly translated to TRUE and FALSE (#140).

Minor improvements and bug fixes

dtplyr 1.0.1

CRAN release: 2020-01-23

  • Better handling for .data and .env pronouns (#138).

  • dplyr verbs now work with NULL inputs (#129).

  • joins do better job at determining output variables in the presence of duplicated outputs (#128). When joining based on different variables in x and y, joins consistently preserve column from x, not y (#137).

  • lazy_dt() objects now have a useful glimpse() method (#132).

  • group_by() now has an arrange parameter which, if set to FALSE, sets the data.table translation to use by rather than keyby (#85).

  • rename() now works without data.table attached, as intended (@michaelchirico, #123).

  • dtplyr has been re-licensed as MIT (#165).

dtplyr 1.0.0

CRAN release: 2019-11-12

  • Converted from eager approach to lazy approach. You now must use lazy_dt() to begin a translation pipeline, and must use collect(), as.data.table(), as.data.frame(), or as_tibble() to finish the translation and actually perform the computation (#38).

    This represents a complete overhaul of the package replacing the eager evaluation used in the previous releases. This unfortunately breaks all existing code that used dtplyr, but frankly the previous version was extremely inefficient so offered little of data.table’s impressive speed, and was used by very few people.

  • dtplyr provides methods for data.tables that warning you that they use the data frame implementation and you should use lazy_dt() (#77)

  • Joins now pass ... on to data.table’s merge method (#41).

  • ungroup() now copies its input (@christophsax, #54).

  • mutate() preserves grouping (@christophsax, #17).

  • if_else() and coalesce() are mapped to data.table’s fifelse() and fcoalesce() respectively (@michaelchirico, #112).

dtplyr 0.0.3

CRAN release: 2019-02-25

dtplyr 0.0.2

CRAN release: 2017-04-21

  • This is a compatibility release. It makes dtplyr compatible with dplyr 0.6.0 in addition to dplyr 0.5.0.

dtplyr 0.0.1

CRAN release: 2016-06-27

  • 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.