R - 基于查找数据框的子集数据框
R - Subset dataframe based on a lookup dataframe
我有 2 个数据框。
我想将 Df1 子集化为 return 一个新数据框,其中 id 和 month 是来自查找数据框:lookupDf.
那些匹配的行将导致 Df3。
例如:
Df1
id month x
A 20 10
B 20 11
C 20 12
D 20 13
E 20 14
A 21 15
B 21 16
C 21 17
D 21 18
E 21 19
lookupDf
id month
A 20
B 20
C 20
E 20
C 21
D 21
Df3 是 Df1 的子集
Df3
id month x
A 20 10
B 20 11
C 20 12
E 20 14
C 21 17
D 21 18
使用tidyverse
工具,查看dplyr
中的各种join
函数。
此处您希望保留 df1 中与 lookupDf 中匹配的行,因此您希望使用 semi_join
,如果 df1 中的行与 lookupDf 中的多个行匹配,它不会复制这些行。
Df3 <- dplyr::semi_join(Df1, lookupDf)
我有 2 个数据框。
我想将 Df1 子集化为 return 一个新数据框,其中 id 和 month 是来自查找数据框:lookupDf.
那些匹配的行将导致 Df3。
例如:
Df1
id month x
A 20 10
B 20 11
C 20 12
D 20 13
E 20 14
A 21 15
B 21 16
C 21 17
D 21 18
E 21 19
lookupDf
id month
A 20
B 20
C 20
E 20
C 21
D 21
Df3 是 Df1 的子集
Df3
id month x
A 20 10
B 20 11
C 20 12
E 20 14
C 21 17
D 21 18
使用tidyverse
工具,查看dplyr
中的各种join
函数。
此处您希望保留 df1 中与 lookupDf 中匹配的行,因此您希望使用 semi_join
,如果 df1 中的行与 lookupDf 中的多个行匹配,它不会复制这些行。
Df3 <- dplyr::semi_join(Df1, lookupDf)