How to make a dataframe with lists or vectors as its elements
This can be done like this:

library(data.table)

dt&lt;-data.table(x=c("a","b","c"), y= lapply(1:3, function(x) matrix(rep(x, x*x), nrow=x)))

dt[2, y]

#[[1]]
#     [,1] [,2]
#[1,]    2    2
#[2,]    2    2

dt[2, `:=`(y=list(c(1,2,3)))]
dt[2,y]

#[[1]]
#[1] 1 2 3


```