R 基于另一列的值删除列中的重复信息
我有两个数据帧: Dt1 Dt 2 我希望以一种方式合并数据帧,其中ID(重复或不重复)将根据条形码删除,我的最终数据帧如下:R 基于另一列的值删除列中的重复信息,r,dataframe,R,Dataframe,我有两个数据帧: Dt1 Dt 2 我希望以一种方式合并数据帧,其中ID(重复或不重复)将根据条形码删除,我的最终数据帧如下: barcode ID 4 BB 5 BB 8 EE 我试了好几个命令,但都成功了 使用 Idremove = Dt1$ID[Dt1$barcode %in% Dt2$barcode] Dt1 = Dt1[!Dt1$ID %in% Idremove, ] Tidyverse解决方案: libr
barcode ID
4 BB
5 BB
8 EE
我试了好几个命令,但都成功了 使用
Idremove = Dt1$ID[Dt1$barcode %in% Dt2$barcode]
Dt1 = Dt1[!Dt1$ID %in% Idremove, ]
Tidyverse解决方案:
library(tidyverse)
Dt1%>%
group_by(ID)%>%
filter(all(!barcode %in% Dt2$barcode))%>%
ungroup()
# A tibble: 3 x 2
barcode ID
<int> <chr>
1 4 BB
2 5 BB
3 8 EE
库(tidyverse)
Dt1%>%
分组依据(ID)%>%
筛选器(所有(!条形码%在%Dt2$barcode中))%>%
解组()
#一个tibble:3x2
条形码ID
14 BB
2.5 BB
3.8 EE
数据:
Dt1
Idremove = Dt1$ID[Dt1$barcode %in% Dt2$barcode]
Dt1 = Dt1[!Dt1$ID %in% Idremove, ]
library(tidyverse)
Dt1%>%
group_by(ID)%>%
filter(all(!barcode %in% Dt2$barcode))%>%
ungroup()
# A tibble: 3 x 2
barcode ID
<int> <chr>
1 4 BB
2 5 BB
3 8 EE
Dt1 <- tribble(
~barcode, ~ID,
1L, 'AA',
2L, 'AA',
3L, 'AA',
4L, 'BB',
5L, 'BB',
6L, 'CC',
7L, 'DD',
8L, 'EE')
Dt2 <- tribble (
~barcode, ~weight,
1L, 55L,
3L, 45L,
6L, 35L,
7L, 80L)