R展平嵌套的data.table [英] R flatten nested data.table
本文介绍了R展平嵌套的data.table的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有嵌套数据表,将嵌套表展平为一个 data.table 的最佳方法是什么?请注意,嵌套表的长度可能不等,因此 tidyr::unnest() 不起作用.
I have nested data table, what is the best way to flatten nested tables to one data.table? Note, that nested tables can have unequal length, so tidyr::unnest() does not work.
代码示例:
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
推荐答案
我们可以试试unlist
NestedTable[, unlist(NESTED_COL, recursive=FALSE), .(COLUMN1, COLUMN2)]
这篇关于R展平嵌套的data.table的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文