我在这里搜索类似的问题,但找不到答案。请你帮我实现这个任务。我有一张拥有超过10,000名患者病历的大型数据集的表格,另外还有689名患者的表格。我想过滤大表,只保留第二个表中与患者有关的记录。然后创建一个新表,将两个表分组,然后我最终得到三个表(两个过滤表和一个合并表)。在R中,基于另一个表中的列值过滤表?
============================我现在拥有的============== =======
表1(相关患者):
ID | PatientID | Record1 | Record2 | Record3
--------------------------------------------------------
1 | 7366 | 3 | 1 | 1
2 | 7362 | 3 | 1 | 1
3 | 7361 | 3 | 1 | 1
4 | 7360 | 3 | 1 | 1
5 | 7363 | 3 | 1 | 1
表2(所有的患者):
ID | PatientID | Blood | SomeRecord | Foo
--------------------------------------------------------
1 | 7316 | 06668 | 21/08/2015 | 1
2 | 7302 | 08677 | 21/08/2015 | 3
3 | 7341 | 07787 | 21/08/2015 | 2
4 | 7340 | 08977 | 21/08/2015 | 1
5 | 7313 | 07887 | 21/08/2015 | 1
6 | 7366 | 56668 | 21/08/2015 | 1
7 | 7362 | 88677 | 21/08/2015 | 3
8 | 7361 | 77787 | 21/08/2015 | 2
9 | 7360 | 98977 | 21/08/2015 | 1
10 | 7363 | 87887 | 21/08/2015 | 1
我想基于表中的一个来过滤表2患者ID。该组1和2放入一个新表中。
============================ Desired Out Put =============== ======
表2(所有患者现在过滤):
ID | PatientID | Blood | SomeRecord | Foo
--------------------------------------------------------
6 | 7366 | 56668 | 21/08/2015 | 1
7 | 7362 | 88677 | 21/08/2015 | 3
8 | 7361 | 77787 | 21/08/2015 | 2
9 | 7360 | 98977 | 21/08/2015 | 1
10 | 7363 | 87887 | 21/08/2015 | 1
表3(所有患者现在过滤所有记录分组):
ID |PatientID|Blood|SomeRecord|Foo|Record1|Record2|Record3
--------------------------------------------------------
6 | 7366 |56668|21/08/2015 |1 | 3 | 1 | 1
7 | 7362 |88677|21/08/2015 |3 | 3 | 1 | 1
8 | 7361 |77787|21/08/2015 |2 | 3 | 1 | 1
9 | 7360 |98977|21/08/2015 |1 | 3 | 1 | 1
10 | 7363 |87887|21/08/2015 |1 | 3 | 1 | 1
我相信你要找的词汇是反连接。 – MichaelChirico
我想你想加入使用两个字段正确吗? 'final_data <-merge(table2,table1,by = c(“PatientID”,“ID”),all.y = T)' – SamanthaDS