簡體   English   中英

R-基於查找數據幀的子集數據幀

[英]R - Subset dataframe based on a lookup dataframe

我有2個數據框。

我想子集Df1返回一個新的數據框,其中idmonth是來自查找數據框的匹配項: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工具,看看各join函數dplyr

在這里,您要保留df1中與lookupDf中匹配的行,因此您要使用semi_join ,如果它們與lookupDf中的多個行匹配,則不會復制df1中的行。

Df3 <- dplyr::semi_join(Df1, lookupDf)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM