У меня есть таблица вложенных данных, что является лучшим способом сгладить вложенные таблицы на одну таблицу данных? Обратите внимание, что вложенные таблицы могут иметь неравную длину, поэтому tidyr :: unsest() не работает.R flatten inested data.table
Пример кода:
NestedTable <- data.table(
COLUMN1 = c('var1', 'var2','var3'),
COLUMN2 = c('col2a', 'col2b', 'col2c')
)
# add nested data.tables
NestedTable[ , NESTED_COL := list(list(data.table(
COLUMN4 = c(
'A', 'B'
),
COLUMN5 = c(
'C', 'D'
)
)))]
NestedTable[ , NESTED_COL2 := list(list(data.table(
COLUMN6 = c(
'A', 'B','C'
),
COLUMN7 = c(
'C', 'D','E'
)
)))]
# COLUMN1 COLUMN2 COLUMN4 COLUMN5 COLUMN6 COLUMN7
# 1: var1 col2a A C A C
# 2: var1 col2a B D B D
# 3: var1 col2a C E
# 4: var2 col2b A C A C
# 5: var2 col2b B D B D
# 6: var2 col2b C E
# 7: var3 col2c A C A C
# 8: var3 col2c B D B D
# 9: var3 col2c C E
'tidyr :: unnest (NestedTable)' – hrbrmstr
большой, спасибо много! это также эффективная функция, чтобы вложить ее снова? Так что предположим, что я хочу вложить выходную таблицу - column4 и column5 в вложенные data.table по столбцу1 и столбцу2 – user3463225
, возможно, 'tidyr: nest()'? но поскольку это еще один вопрос, вы должны задать еще один вопрос. – hrbrmstr