使用R中的哪个命令复制数组的子集

时间:2014-06-04 18:29:48

标签: r which

我想在which中使用R来复制数组的一部分。但是,似乎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

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我想你想要%in%。当TRUE的值也在a时,它会返回逻辑b。然后,如果您对其进行矢量化,则结果是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