I have several data.tables
that I would like to rbindlist
. The tables contain factors with (possibly missing) levels. Then rbindlist(...)
behaves differently from do.call(rbind(...))
:
dt1 <- data.table(x=factor(c("a", "b"), levels=letters))
rbindlist(list(dt1, dt1))[,x]
## [1] a b a b
## Levels: a b
do.call(rbind, list(dt1, dt1))[,x]
## [1] a b a b
## Levels: a b c d e f g h i j k l m n o p q r s t u v w x y z
If I want to keep the levels, do I have tor resort to rbind
or is there a data.table
way?