Is it possible to do? By profiling in RStudio I found that my simple row selection operations using the table's key are allocating an untoward amount of memory (aggregated over thousands of slices at different keys).
library(data.table)
foo = data.table(name=letters, v1=rnorm(1:10000), v2=rnorm(1:10000), v3=rnorm(1:10000))
setkey(foo, name)
for(i in 1:10000) slice = foo[letters[i%%26]]
Profile the for loop and see it allocate 500mb.