基于与另一个data.table的匹配来更新data.table列

时间:2017-10-27 15:37:07

标签: r data.table

我在R中有两个data.table个对象: 库(data.table)

spp <- c('A','B','C','D','E')
state <- c('Z','Q',NA,'Z','Q')
d1 <- data.table(spp,state)

spp <- c('C','B','K')
state <-c('Z','Q','Q')
d2 <- data.table(spp,state)

Cspp中的观察d1state列中具有NA值。但是,在d2 C列中,spp列中的观察Zstate列中的值为state。我如何更新d1的{​​{1}}列,并在state观察到[{1}}观察时添加d2观察结果spp }和d1

1 个答案:

答案 0 :(得分:0)

我们可以加入on&#39; spp&#39;并指定“状态”#39;使用第二个数据集&#39; state&#39;列,即i.state

d1[d2, state := i.state, on = .(spp)]