R data.table,如何在保持原始顺序的同时联接两个表?

时间:2018-11-30 16:30:16

标签: r data.table

A是一个存储数据的表:

A <- data.table(Type = c(1,2,1,1,2), value1 = 1:5)

B是参考表:

B <- data.table(Type = c(1,2), value2 = c(20,40))

对于A中的每一行,我想添加与其类型相对应的值:

A[B, on = .(Type)]

这是我得到的结果:

   Type value1 value2
1:  1      1     20
2:  1      3     20
3:  1      4     20
4:  2      2     40
5:  2      5     40 

除了更改顺序外,结果是我期望的结果。有什么办法可以保持A的原始顺序吗?

1 个答案:

答案 0 :(得分:1)

我们需要进行分配:=才能以相同顺序创建列

A[B, value2 := value2, on = .(Type)]
A
#   Type value1 value2
#1:    1      1     20
#2:    2      2     40
#3:    1      3     20
#4:    1      4     20
#5:    2      5     40