有没有一种方法可以过滤一个数据帧以将与另一个数据帧中的值匹配的值保留?

时间:2020-02-23 04:12:17

标签: r filter

在这里,我的数据帧df2在B列中具有三个值。我想通过仅保留与df2 $ B匹配的值来过滤df1 $ B。

import os
print(os.stat('small_tree.png').st_size/1024,'KB')

1 个答案:

答案 0 :(得分:2)

r base中,您可以编写:

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

  A  B
2 2 20
4 4  7
5 5 52

使用dplyr包,您可以使用filter

library(dplyr)
df1 %>% filter( B %in% df2$B)

  A  B
1 2 20
2 4  7
3 5 52

您也可以执行left_join

library(dplyr)
left_join(df2, df1, by = "B")

  A.x  B A.y
1   1 20   2
2   2  7   4
3   3 52   5

是您要找的东西吗?