我有两个数据帧(df1和df2)
设df1就是这样一个数据框:
col1 col2 col3
a 3 12
a 5 15
b 2 3
a 5 6
a 4 12
b 5 15
a 3 14
c 5 8
c 3 2
c 2 22
b 2 21
a 5 11
b 5 7
c 5 6
a 2 5
即`
df1<-data.frame(col1=c("a","a","b","a","a","b","a","c","c","c","b","a","b","c","a")
,col2=c(3,5,2,5,4,5,3,5,3,2,2,5,5,5,2)
,col3=c(12,15,3,6,12,15,14,8,2,22,21,11,7,6,5))
让df2就是这样一个数据框:
col1 col2
b 3
c 4
所需的输出是:
col1 col2 col3
a 3 12
b 2 3
a 4 12
b 5 15
a 3 14
c 5 8
c 3 2
c 2 22
b 2 21
b 5 7
c 5 6
这是df1的子集 . 它包括df1的所有行,其与df2的col1或df2的col2相同 .
例如,col1.df2的一个元素是“b” . 因此,在df1的col1处包括“b”的所有行都将是所需输出的元素 .
另外第二列df2包括“3” . 因此,包括df1的col2的“3”的所有行将是所需输出的元素 .
“c”和“4”也是如此 .
我怎么能用R做到这一点?我会很高兴得到任何帮助 . 非常感谢 .
2 回答
试一试:
如果有很多列,您也可以将
Reduce
与Map
一起使用