R从列表中删除子列表中的项目

ada*_*888 2 r

我有一个清单:

L <- c("a","b","c","d","e")
Run Code Online (Sandbox Code Playgroud)

我也有此列表的子集:

L1 <- c("b","d","e")
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个不包含子集列表的新列表。

我试过了:

L[L!%in%L1]
L[L%in%!L1]
L[L%in%-L1]
Run Code Online (Sandbox Code Playgroud)

但这不起作用。谢谢您的帮助。

flo*_*del 5

它应该是

L[!(L %in% L1)]
Run Code Online (Sandbox Code Playgroud)

由于运算符优先级(?Syntax),您还可以

L[!L %in% L1]
Run Code Online (Sandbox Code Playgroud)

最后,您还有:

setdiff(L, L1)
Run Code Online (Sandbox Code Playgroud)

  • 但是如果任一列表中存在重复元素,“setdiff”将会失败。 (2认同)