R中两个向量之间的差异

Jot*_* eN 23 diff r vector

我有两个向量:

a <- c(1, 1, 3, 4, 5, 7, 9)
b <- c(2, 3, 4, 6, 8, 2)
Run Code Online (Sandbox Code Playgroud)

我想找到第二个向量中的数字,它们不在第一个向量中:

dif <- c(2, 6, 8)
Run Code Online (Sandbox Code Playgroud)

我尝试过很多不同的方法(比如合并,不同类型的连接(dplyr包),setdiff,比较(比较包)),但我还是找不到办法.

akr*_*run 32

您可以使用 setdiff

setdiff(b,a)
#[1] 2 6 8
Run Code Online (Sandbox Code Playgroud)

  • @stakowerfol `setdiff` 给出了第一个与第二个的差异。如果你想要两者,那么你可能需要一个 union 和 setdiff (2认同)

nic*_*ico 7

另一种方法是使用,而不是setdiff(可能是可取的)%in%

unique(b[! b %in% a])
#[1] 2 6 8
Run Code Online (Sandbox Code Playgroud)