在R中使用which命令复制数组的子集



我想在R中使用which来复制数组的一段。然而,《which》似乎跳过了重复元素。下面是一个例子:

a <- c(1,2,3,4,1,2,2,3)
b <- c(1,2)
a <- a[which(a==b)]
a
[1] 1 2 1 2

我想要这样的输出:

a
[1] 1 2 1 2 2

任何想法?

我认为你想要%in%。当a的值也在b中时,它返回一个逻辑值TRUE。然后,如果对其进行矢量化,结果是a的值也在b中。

> a <- c(1,2,3,4,1,2,2,3)
> b <- c(1,2)
> a[a %in% b]
[1] 1 2 1 2 2

最新更新