合并多个列和行

Merge for multiple columns and rows

给定以下数据表:

> d1 <- data.table(letter=c("A", "B", "A", "B"), V1=c(0,0,0,0),V2=c(0,0,0,0))
> d2 <- data.table(letter=c("A", "B"), value=c(1,2))
> d1
   letter V1 V2
1:      A  0  0
2:      B  0  0
3:      A  0  0
4:      B  0  0
> d2
   letter value
1:      A     1
2:      B     2

我试图使用 d2 中的值填充 d1 中的 V1 和 V2 列,以便:

> d12
   letter V1 V2
1:      A  1  1
2:      B  2  2
3:      A  1  1
4:      B  2  2

我假设我必须以某种方式使用函数 'merge' 但我没有成功。

关于如何实现这一点有什么建议吗?

非常感谢!

setkey(d1, letter)
setkey(d2, letter)
d1[d2, c('V1','V2'):=value]
# d1 holds the updated dt

d1[d2]将d1合并到d2; c('V1', 'V2'):=valuevalue 列分配给 V1 和 V2。 d1 中有 d2 中没有的字母的行保持原样。