Skip to contents

dtlog provides feedback about data.table operations. It redefines the subsetting method [.data.table as well as several functions exported by data.table, so it should be loaded after data.table, otherwise there will be no output. A more explicit way to resolve namespace conflicts is to use the conflicted package.

Details

The operations themselves are never changed: dtlog only adds a message. Modification by reference (:=, set*()), keys, indices, return values and visibility all behave exactly as they do in data.table, and every argument is evaluated exactly as often as data.table evaluates it, so an argument written as an expression with a side effect still runs only once.

Options

dtlog.display

NULL (default) prints with message(). A list of functions sends the output to each of them. An empty list turns logging off, as does anything that is not a function, which is ignored.

dtlog.detail

"full" (default) reports value level information (types, unique values, share of NA, number of changed values). "compact" only reports rows, columns and column names, and never copies data.

dtlog.log_from_packages

FALSE (default) only logs calls made from the global environment, so that data.table calls inside other packages stay silent.

dtlog.table_max_unique

20 (default). A column with this many unique values or more is described by dttable() as possibly continuous instead of having its values listed. Inf lists every column.

Author

Maintainer: Akihiro Shiroshita akihirokun8@gmail.com (ORCID) [copyright holder]

Authors: