从其他data.table添加列的更好语法

时间:2018-08-22 03:38:58

标签: r data.table

我有两个已建立索引的数据表,我想按索引从一个表向另一表添加一列。我目前的方法如下:

A <- data.table(index = seq(6,10), a = rnorm(5))
B <- data.table(index = seq(10), b = rnorm(10))
setkey(B, index)
A[, b := B[.(A[,index]), b]]

虽然这可以完成工作,但语法似乎有点多余。有没有更干净的方法来执行相同的操作?

1 个答案:

答案 0 :(得分:3)

我们可以通过联接来实现

A[B, b := b, on = .(index)]

此处不需要setkey步骤