比较表根据多个条件添加缺少的行

问题描述 投票:0回答:1

我正在寻找一个简单的R命令,它将执行以下操作。我有两个表A和B,每个表都有三列-ID,YEAR,VALUE。我想从表B中找出具有与表A相同的ID,并具有不在表A中的年份的行。然后,我要将这些行添加到表A。

Table A
---------------------
| ID | YEAR | VALUE |
---------------------
|  1 | 2006 |   A   |
--------------------
|  1 | 2007 |   B   |
---------------------
|  1 | 2009 |   D   |
---------------------
|  1 | 2010 |   E   |
---------------------

表B

---------------------
| ID | YEAR | VALUE |
---------------------
|  1 | 2006 |   A   |
--------------------
|  1 | 2007 |   B   |
---------------------
|  1 | 2008 |   C   |
---------------------
|  1 | 2009 |   D   |
---------------------
|  1 | 2010 |   E   |
---------------------

在输出表中,仅表B中的第三行被追加到表A。

我找到了这个解决方案-Compare two table and adding row based on condition但它不能解决多个条件。

我正在寻找一个简单的R命令,它将执行以下操作。我有两个表A和B,每个表都有三列-ID,YEAR,VALUE。我想从表B中找出与...具有相同ID的行。

我们可以使用anti_join来获取B中不存在的行。
A
然后我们可以将该行difft <- dplyr::anti_join(B, A, by = c('ID', 'YEAR')) difft # ID YEAR VALUE #1 1 2008 C 移至rbind

A

r join conditional-statements comparison bind
1个回答
0
投票
然后我们可以将该行difft <- dplyr::anti_join(B, A, by = c('ID', 'YEAR')) difft # ID YEAR VALUE #1 1 2008 C 移至rbind
© www.soinside.com 2019 - 2024. All rights reserved.