data.frame and data.table are a collection (list) of elements (vectors, if you want), each element is the same length (i.e. each column is an element in the list, internally up to R anyway). This is why, unlike matrices, columns can have different classes.
Greetings.
source
share