1

我正在使用setdiff函数来提取第一组中不在另一组中的元素。但是在评估之后,setdiff我收到了这样的元素,但它们是单个值(没有第一组那么多);像这样:

> setdiff( c("x", "x", "y"), c("y"))
[1] "x"

有没有更聪明的方法来提取这些元素,但数量与第一组中的数量一样,例如这条线的结果?

> c("x","x","y")[ c("x","x","y") %in% setdiff( c("x", "x", "y"), c("y"))]
[1] "x" "x"
4

1 回答 1

3

反转匹配%in%以使表达式更简单,并留下setdiff

> x <- c("x","x","y")
> x
[1] "x" "x" "y"
> x[!x %in% c("y")]
[1] "x" "x"
于 2015-03-16T13:13:30.693 回答