0
のサブセットにdata.tableのサブセットを割り当てますDT1でどこ私はこのようになりますテーブルを取得することをA = A2、こうした:は、私は2つのdata.tablesを有する別のdata.table
dt1
# A B C D
# 1: 1 1 2 3
# 2: 2 1 2 3
# 3: 3 1 2 3
# 4: 4 1 2 3
# 5: 5 4 5 3
# 6: 6 4 5 3
# 7: 7 4 5 3
# 8: 8 4 5 3
# 9: 9 4 5 3
# 10: 10 1 2 3
私は一度に一つの列を割り当てることができます知っている:
id1 <- which(dt1$A %in% dt2$A2)
id2 <- which(dt2$A2 %in% dt1$A)
dt1$B[id1] <- dt2$B2[id2]
dt1$C[id1] <- dt2$C2[id2]
しかし、これはたくさんの行のコードのように思えます。
私は
# Not working:
dt1[id1][,list(B,C)] <- dt2[id2][,list(B2,C2)]
のようなものを考えていたが仕事だろうが、私はエラーメッセージが表示されます。
よりスマートで、より良い方法はありますか?