在这里,我的数据帧df2在B列中具有三个值。我想通过仅保留与df2 $ B匹配的值来过滤df1 $ B。
import os
print(os.stat('small_tree.png').st_size/1024,'KB')
答案 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
是您要找的东西吗?