R 中的 %in% 函数,两个参数

%in% function in R, two arguments

我一直在尝试根据另外两个不同大小的数据帧(df1、df2)和以下条件创建一个数据帧 (df3):

在 df3 中包含所有行,其中:df1$id = df2$id 和 df1$cond=df2$cond

我试过了:

df3<-df1[(df1$id %in% df2$id &
            df1$fcond %in% df2$cond),] 

但它会选择至少有一个参数为真而不是两个都为真的行。

虚拟数据:

t<- c(1,2,3,4,5,6,7,8,9,10)
id<-c(1,1,2,2,3,3,4,4,5,5)
cond <- c(1,5,1,1,1,5,1,1)

df1<-data.frame(cbind(t,id,cond))

id <-c(1,4)
cond <-c(1,1)

df2<- data.frame(cbind(id, cond))

预期输出:

t<- c(1,7)
id<-c(1,4)
cond<- c(1,1)
df3< c(t, id, cond)

有什么想法吗?

也许我们需要

library(dplyr)
inner_join(df1, df2, by = c('id', 'cond'))