如何检查一个数据帧中的值是否存在于 R 中的另一个数据帧中?

Hel*_*pMe 5 loops r function dataframe

假设我们有一个像这样的数据框:

id  reply  user_name
1   NA     John
2   NA     Amazon
3   NA     Bob
Run Code Online (Sandbox Code Playgroud)

另一个数据框是这样的:

name  organisation
John  Amazon
Pat   Apple
Run Code Online (Sandbox Code Playgroud)

如果第 3reply列中的值与第二个数据框中的第 1 列或第 2 列匹配,是否有办法填充第一个数据框中的列?例如,由于第二个数据帧存在于第一个数据帧中,我希望第一个数据帧更新如下:'True''False'JohnAmazon

id  reply  user_name
1   True   John
2   True   Amazon
3   False  Bob
Run Code Online (Sandbox Code Playgroud)

Duc*_*uck 4

尝试使用%in%所有值的向量:

#Code
df1$reply <- df1$user_name %in% c(df2$name,df2$organisation)
Run Code Online (Sandbox Code Playgroud)

输出:

df1
  id reply user_name
1  1  TRUE      John
2  2  TRUE    Amazon
3  3 FALSE       Bob
Run Code Online (Sandbox Code Playgroud)

使用的一些数据:

#Data1
df1 <- structure(list(id = 1:3, reply = c(NA, NA, NA), user_name = c("John", 
"Amazon", "Bob")), class = "data.frame", row.names = c(NA, -3L
))

#Data2
df2 <- structure(list(name = c("John", "Pat"), organisation = c("Amazon", 
"Apple")), class = "data.frame", row.names = c(NA, -2L))
Run Code Online (Sandbox Code Playgroud)