R 如何基于第二个df从一个df中删除值

R 如何基于第二个df从一个df中删除值,r,dplyr,R,Dplyr,如何基于dataset1中的值从DataSet2中删除重复值 我的数据集1: number 2345 2234 1111 我的数据集2: number name 2345 kk 2121 ll 1111 ms 9999 rr 我已经尝试过这段代码,但是我仍然可以从dataset1中找到一些应该从dataset2中删除的值 filter(df2, df2$number %in% df1$number = TRUE) 这样行吗 > df n

如何基于dataset1中的值从DataSet2中删除重复值

我的数据集1:

number
2345
2234
1111
我的数据集2:

number   name
2345      kk
2121      ll
1111      ms
9999      rr
我已经尝试过这段代码,但是我仍然可以从dataset1中找到一些应该从dataset2中删除的值

filter(df2, df2$number %in% df1$number = TRUE)
这样行吗

> df
  number
1   2345
2   2234
3   1111
> df1
  number name
1   2345   kk
2   2121   ll
3   1111   ms
4   9999   rr

> df1[!(df1$number %in% df$number),]
  number name
2   2121   ll
4   9999   rr
> 
像这样的

> subset(df2, ! number %in% df1$number)
  number name
2   2121   ll
4   9999   rr
数据

> dput(df1)
structure(list(number = c(2345, 2234, 1111)), class = "data.frame", row.names = c(NA,
-3L))

> dput(df2)
structure(list(number = c(2345, 2121, 1111, 9999), name = c("kk",
"ll", "ms", "rr")), class = "data.frame", row.names = c(NA, -4L
))

anti_join(df2,df1)
过滤器(df2,!number%在%df1$number中)
。(要删除重复项,所以我们需要
,而绝对不是
==TRUE
。是的,类似于
df2[!df2$number%在%df1$number中,]