dcast.data.table( drop = FALSE) does not add columns for missing levels in a factor variable
library(data.table)
library(reshape2)
df <- data.table(
x = factor("a", levels = c("a", "b")),
y = factor("b", levels = c("a", "b")),
z = 1
)
dcast(df, y~x, drop = FALSE)
dcast.data.table(df, y~x, drop = FALSE)