R 从另一个数据帧中选择相同的行

R 从另一个数据帧中选择相同的行,r,dataframe,R,Dataframe,在df1中,我希望只有与df2中相同的ID行。如何根据ID选择df2中的行并删除其他行 df1 ID Var1 Var2 Col1 Col2 1 34 22 34 24 2 3 25 54 65 3 87 68 14 78 4 66 98 98 100

在df1中,我希望只有与df2中相同的ID行。如何根据ID选择df2中的行并删除其他行

     df1             
     ID Var1    Var2    Col1    Col2
     1    34      22      34      24
     2     3      25      54      65
     3    87      68      14      78
     4    66      98      98     100
     5    55      13      77       2

     df2             
     ID Varx    VarY    ColZ    Col2
     1    134      2      4      4
     2     33      5      4      5
     4    660      8      8      100




     Expected outcome:
     df1             
     ID Var1    Var2    Col1    Col2
     1    34      22      34      24
     2     3      25      54      65
     4    66      98      98     100
这应该起作用:

df1[df1$ID %in% df2$ID, ]

您可以使用dplyr::semi_join或internal_join,这取决于您的ID是否是唯一的,您没有指定的df_final by=idthanky Calum!现在效果很好。