R vector找到常见元素并删除不常见的元素

时间:2015-08-28 21:53:24

标签: r vector

我想找到两个向量共有的元素。我可以使用intersect(a,b)来做同样的事情。

但是我想要删除不常见的a和b元素,并将a和b缩小到更小的尺寸而不改变元素的顺序

a <- c(1,3,5,7,9)
b <- c(9,3,6,8,10)

我想要新的a和b

a will be (3,9) and b will be (9,3)

2 个答案:

答案 0 :(得分:4)

遵循弗兰克的建议。

最简单的方法是使用intersect

a <- c(1,3,5,7,9)
b <- c(9,3,6,8,10)

# Use `intersect` on both ways: 
a <- intersect(a,b)
b <- intersect(b,a)

# Desired results:
a
[1] 3 9
b
[1] 9 3

干杯

答案 1 :(得分:2)

a <- a[a%in%b]
[1] 3 9
b <- b[b%in%a] 
[1] 9 3