If your table is full, you can use the following technique:
dt<-data.table(id=rep(6:10,each=3), var=rnorm(15))
dt[, as.list(setNames(var, 1:length(var))), id]
# id 1 2 3
# 1: 6 -1.6187 0.9227 -0.12284
# 2: 7 0.9898 0.3489 1.21193
# 3: 8 -1.5968 1.3802 0.09284
# 4: 9 -1.9527 -0.6347 1.11014
# 5: 10 0.6093 -1.0609 -0.66372
This trick was used a few days back on a data.table
question. If someone follows the feed and can recall the post, feel free to edit.