Convenience function for concisely summarizing some metadata of all data.tables in memory (or an optionally specified environment).

tables(mb=TRUE, order.col="NAME", width=80,
       env=parent.frame(), silent=FALSE, index=FALSE)



logical; TRUE adds the rough size of each data.table in megabytes to the output under column MB.


Column name (character) by which to sort the output.


integer; number of characters beyond which the output for each of the columns COLS, KEY, and INDICES are truncated.


An environment, typically the .GlobalEnv by default, see Details.


logical; should the output be printed?


logical; if TRUE, the column INDICES is added to indicate the indices assorted with each object, see indices.


Usually tables() is executed at the prompt, where parent.frame() returns .GlobalEnv. tables() may also be useful inside functions where parent.frame() is the local scope of the function; in such a scenario, simply set it to .GlobalEnv to get the same behaviour as at prompt.

Note that on older versions of R, object.size may be slow, so setting mb=FALSE may speed up execution of tables significantly.

Setting silent=TRUE prints nothing; the metadata are returned as a data.table, invisibly, whether silent is TRUE or FALSE.


A data.table containing the information printed.

See also


DT = data.table(A=1:10, B=letters[1:10]) DT2 = data.table(A=1:10000, ColB=10000:1) setkey(DT,B) tables()
#> NAME NROW NCOL MB COLS KEY #> 1: DT 10 2 0 A,B B #> 2: DT2 10,000 2 0 A,ColB #> Total: 0MB