【发布时间】:2019-10-29 07:53:48
【问题描述】:
我想获取跨多个数字 id 列的唯一数字 id 值列表。我的目标是帮助总结数据库中跨用户更改多个表的更改流程,在我的示例中,从表 A 到 B 然后返回到 A。
我知道我可以通过附加每列的列表来做到这一点,但如果可能的话,我想利用 data.table internal 来提高效率。
set.seed(1)
dt <- data.table(tbl_A_create_uid=sample(1:2),
tbl_A_update_uid=sample(1:4))
dt[,tbl_B_create_uid:=tbl_A_update_uid]
dt[,tbl_B_update_uid:=sample(1:4)]
dt_after_update<-rbind(dt,data.table(tbl_A_create_uid=dt[,tbl_B_update_uid])
,use.names=TRUE
,fill=TRUE
)
dt_after_update
# > dt_after_update
# tbl_A_create_uid tbl_A_update_uid tbl_B_create_uid tbl_B_update_uid
# 1: 1 3 3 4
# 2: 2 4 4 2
# 3: 1 1 1 3
# 4: 2 2 2 1
# 5: 4 NA NA NA
# 6: 2 NA NA NA
# 7: 3 NA NA NA
# 8: 1 NA NA NA
wanted:具有唯一值的向量或 data.table,例如 c(1,2,3,4)
【问题讨论】:
标签: r data.table