R

时间:2018-10-14 15:24:27

标签: r merge

我正在尝试解决这个问题:

例如:

仓库

       id amount size
1 cymbals      5   24
2  snares      3   10
3    tom1      2   19

传入

      id amount size
1 snares      2   15

结果

       id amount size
1 cymbals      5   24
2  snares      5   15
3    tom1      2   19

我是R语言的newby,所以我一直在寻找获得“结果”的最优雅/清晰的方法(我不关心性能)。结果将是:取出每个进来的物品,如果存在则在仓库中循环:添加数量,然后用新的尺寸替换尺寸;如果不存在,请添加它。

1 个答案:

答案 0 :(得分:2)

使用dplyr,我们可以将两个数据帧绑定在一起,按id分组,然后计算sum的{​​{1}}并取amount的值last,因此如果size中存在该值,它将从那里取走,否则将从incoming数据框中获取size值。

warehouse