use*_*225 4 nested r data.table
我有嵌套数据表,将嵌套表展平为一个data.table的最佳方法是什么?请注意,嵌套表的长度可以不相等,因此tidyr :: unnest()不起作用。
代码示例:
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
Run Code Online (Sandbox Code Playgroud)
我们可以尝试 unlist
NestedTable[, unlist(NESTED_COL, recursive=FALSE), .(COLUMN1, COLUMN2)]
Run Code Online (Sandbox Code Playgroud)