我有两个已建立索引的数据表,我想按索引从一个表向另一表添加一列。我目前的方法如下:
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]]
虽然这可以完成工作,但语法似乎有点多余。有没有更干净的方法来执行相同的操作?
答案 0 :(得分:3)
我们可以通过联接来实现
A[B, b := b, on = .(index)]
此处不需要setkey
步骤