如何从多个向量中找到公共元素?

如何从多个向量中找到公共元素?

有人能告诉我如何从多个向量中找到公共元素吗?

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

我想从上面的向量(例如:3和9)中得到公共元素。


RISEBY
浏览 595回答 3
3回答

慕姐4208626

也许有一个更聪明的方法来解决这个问题,但是intersect(intersect(a,b),c)会做好这份工作。编辑:更聪明,更方便,如果你有很多论点:Reduce(intersect,&nbsp;list(a,b,c))

斯蒂芬大帝

这已经是一个很好的答案了,但是有几种方法可以做到这一点:unique(c[c%in%a[a%in%b]])或,tst&nbsp;<-&nbsp;c(unique(a),unique(b),unique(c))tst&nbsp;<-&nbsp;tst[duplicated(tst)]tst[duplicated(tst)]显然,您可以省略unique如果您知道内部没有重复的值,则调用a,&nbsp;b或c.

三国纷争

intersect_all&nbsp;<-&nbsp;function(a,b,...){ &nbsp;&nbsp;all_data&nbsp;<-&nbsp;c(a,b,...) &nbsp;&nbsp;require(plyr) &nbsp;&nbsp;count_data<-&nbsp;length(list(a,b,...)) &nbsp;&nbsp;freq_dist&nbsp;<-&nbsp;count(all_data) &nbsp;&nbsp;intersect_data&nbsp;<-&nbsp;freq_dist[which(freq_dist$freq==count_data),"x"] &nbsp;&nbsp;intersect_data}intersect_all(a,b,c)更新编辑一个更简单的代码intersect_all&nbsp;<-&nbsp;function(a,b,...){ &nbsp;&nbsp;Reduce(intersect,&nbsp;list(a,b,...))}intersect_all(a,b,c)
打开App,查看更多内容
随时随地看视频慕课网APP