为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

白板的微信 2019-07-26 15:14:46
如何从多个向量中找到公共元素?有人能告诉我如何从多个向量中找到公共元素吗?a <- c(1,3,5,7,9)b <- c(3,6,8,9,10)c <- c(2,3,4,5,7,9)我想从上面的向量(例如:3和9)中得到公共元素。
查看完整描述

3 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

也许有一个更聪明的方法来解决这个问题,但是

intersect(intersect(a,b),c)

会做好这份工作。

编辑:更聪明,更方便,如果你有很多论点:

Reduce(intersect, list(a,b,c))


查看完整回答
反对 回复 2019-07-27
?
交互式爱情

TA贡献1712条经验 获得超3个赞

这已经是一个很好的答案了,但是有几种方法可以做到这一点:

unique(c[c%in%a[a%in%b]])

或,

tst <- c(unique(a),unique(b),unique(c))tst <- tst[duplicated(tst)]tst[duplicated(tst)]

显然,您可以省略unique如果您知道内部没有重复的值,则调用abc.



查看完整回答
反对 回复 2019-07-27
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

intersect_all <- function(a,b,...){
  all_data <- c(a,b,...)
  require(plyr)
  count_data<- length(list(a,b,...))
  freq_dist <- count(all_data)
  intersect_data <- freq_dist[which(freq_dist$freq==count_data),"x"]
  intersect_data}intersect_all(a,b,c)

更新编辑一个更简单的代码

intersect_all <- function(a,b,...){
  Reduce(intersect, list(a,b,...))}intersect_all(a,b,c)




查看完整回答
反对 回复 2019-07-27
  • 3 回答
  • 0 关注
  • 604 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号