在data.table中,可以直接在当前数据表(比如DT)上工作,而无需创建它的副本。例如,这可以在创建新列时完成。
DT[,new_col:=1]
我想知道如何合并,特别是左连接。例如,左连接的数据表方式是
DT_right[DT_left,on="id"]
但是,这不会修改原始的DT_left表,需要我重新分配。即。
DT_left = DT_right[DT_left,on="id"]
有没有办法让我在没有重新分配的情况下这样做?即直接在DT_left上工作。
答案 0 :(得分:4)
假设你有and
为
DT_right
和 id right_value
1: 1 2
2: 2 4
3: 3 6
4: 4 8
DT_left as
如果您要在 id left_value
1: 1 3
2: 2 6
3: 3 9
4: 4 12
上执行DT_left
的左连接,则DT_right
将为i.value
,即您要加入的列的列名{{1} 1}}到i.left_value
。
DT_left