在R中标记数据帧之间的公用行

在R中标记数据帧之间的公用行,r,dataframe,match,R,Dataframe,Match,我试图标记一个较大数据帧中与较小数据帧相同的行 我研究过类似的主题,但不知道如何通过以下方式实现: df1<- data.frame(id = c(1, 2, 3, 4, NA, 5, 6, NA, NA, 7, 8)) df2<- data.frame(id = c(NA, 8, 3, NA, 1)) # Result > df1 id match 1 1 TRUE 2 2 FALSE 3 3 TRUE 4 4 FALSE 5 NA FALSE

我试图标记一个较大数据帧中与较小数据帧相同的行

我研究过类似的主题,但不知道如何通过以下方式实现:

df1<- data.frame(id = c(1, 2, 3, 4, NA, 5, 6, NA, NA, 7, 8))
df2<- data.frame(id = c(NA, 8, 3, NA, 1))

# Result

> df1
   id match
1   1  TRUE
2   2 FALSE
3   3  TRUE
4   4 FALSE
5  NA FALSE
6   5 FALSE
7   6 FALSE
8  NA FALSE
9  NA FALSE
10  7 FALSE
11  8  TRUE
您可以使用%in%检查匹配项,使用is.na避免与na匹配

您可以使用%in%检查匹配项,使用is.na避免与na匹配

谢谢你,这个&!是。nadf$id是我在尝试中丢失的部分。谢谢,这个&!是的。nadf$id是我在尝试中丢失的部分。
df1$match <- df1$id %in% df2$id & !is.na(df1$id)
df1

#   id match
#1   1  TRUE
#2   2 FALSE
#3   3  TRUE
#4   4 FALSE
#5  NA FALSE
#6   5 FALSE
#7   6 FALSE
#8  NA FALSE
#9  NA FALSE
#10  7 FALSE
#11  8  TRUE