I'm trying to find the equivalent of tidyr::unnest() for a data.table with multiple nested columns:
MT <- as.data.table(mtcars)
MT_NEST_MULT <- MT[, .(data1 = .(.SD[, .(mpg, hp)]), data2 = .(.SD[, !c("mpg", "hp")])), by = .(cyl, gear)]
cyl gear data1 data2
8 3 <S3: data.table> <S3: data.table>
8 5 <S3: data.table> <S3: data.table>
6 4 <S3: data.table> <S3: data.table>
6 3 <S3: data.table> <S3: data.table>
6 5 <S3: data.table> <S3: data.table>
4 4 <S3: data.table> <S3: data.table>
4 3 <S3: data.table> <S3: data.table>
4 5 <S3: data.table> <S3: data.table>
Un-nesting a single column is easy: MT_NEST_MULT[, rbindlist(data1), by = .(cyl, gear)]
But I don't know how to un-nest both, i.e. do the equivalent of tidyr::unnest(..., c(data1, data2)).