【发布时间】:2020-03-04 15:11:45
【问题描述】:
我希望在一个连接语句中将多个表链接在一起。即table a 加入table b 加入table c。
# create some tables
a = data.table(id = c(1,2,3,4),amount = c(2,2,3,4))
b = data.table(id=c(1,2,3,4), id2=c(1,1,2,2), multiplier = c(4,5,6,7))
c = data.table(id=c(1,2,3,4))
d = data.table(id2=c(1,2), amount = c(2,20))
接下来我可以将表c 加入a 和b
c[b, on = .(id), `:=` (multiplier = i.multiplier, m2 = multiplier*am)][a, on = .(multiplier==id), am := i.amount]
id multiplier am m2 1: 1 4 4 16 2: 2 5 NA NA 3: 3 6 NA NA 4: 4 7 NA NA
如何将表b 加入d,然后将c 加入b?
以下内容不起作用:
c[b, on = .(id), `:=` (multiplier = i.multiplier, m2 = multiplier*am)][d, on = .(id2==id2), am := i.amount]
c[b, on = .(id), `:=` (multiplier = i.multiplier, m2 = multiplier*prod(b[d, on = .(id2), amount])]
【问题讨论】:
标签: r data.table