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的原始顺序吗?
答案 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