intersect for multiple vectors in R

Say you have

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

A straightforward way to do the job is:

intersect(intersect(a,b),c)

More cleverly, and more conveniently if you have a lot of arguments:

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

The Reduce function is part of funprog {base}, which includes

Reduce(f, x, init, right = FALSE, accumulate = FALSE)
Filter(f, x)
Find(f, x, right = FALSE, nomatch = NULL)
Map(f, ...)
Negate(f)
Position(f, x, right = FALSE, nomatch = NA_integer_)

The other solution like this

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

  

时间: 2024-12-14 18:23:39

intersect for multiple vectors in R的相关文章

【译文】怎样在R语言中使用SQL命令

[译文]怎样在R语言中使用SQL命令 作者 Fisseha Berhane 对于有SQL背景的R语言学习者而言.sqldf是一个很实用的包,由于它使我们能在R中使用SQL命令.仅仅要掌握了主要的SQL技术.我们就能利用它们在R中操作数据框.关于sqldf包的很多其它信息,能够參看cran. 在这篇文章中,我们将展示怎样在R中利用SQL命令来连接.检索.排序和筛选数据. 我们也将展示怎么利用R语言的函数来实现这些功能.近期我在处理一些FDA(译者注:食品及药物管理局)的不良事件数据.这些数据很混乱

用R语言分析《我是歌手》出场顺序与名次的关系

上周<我是歌手>吵吵闹闹地落幕了,这一季是我最关注的一季,很认真的从头看到尾.网上各种讨论,特别反感那些说看到谁谁谁就不想看了的说法,其实单纯地去听他们的歌声,会觉得即使是之前不看好的那些歌手都能给你很多惊喜和感动.以前对清华哥哥的印象是歌都很好听,但是自己唱不红,翻唱都会变红啊,现在喜欢上他的声音了啊!不管这个节目有没有什么内部操作黑幕,单纯听他们的歌还是挺好的.当然,这篇文章的主旨不在此,我们要看的如题<我是歌手>节目中,出场顺序和名词的关系.关系肯定是有的,节目里自己都说到了

Discrete.Differential.Geometry-An.Applied.Introduction(sig2013) 笔记

DISCRETE DIFFERENTIAL GEOMETRY : AN APPLIED INTRODUCTION Last updated: November 19, 2015 ======================================== Ch 1. INTRODUCTION 把exterior calculus作为模型处理的语言.the exterior calculus of differential forms is the modern language of dif

SQL Server2012 T-SQL基础教程--读书笔记(5-7章)

SQL Server2012 T-SQL基础教程--读书笔记(5-7章) SqlServer T-SQL 示例数据库:点我 Chapter 05 表表达式 5.1 派生表 5.1.1 分配列别名 5.1.2 使用参数 5.1.3 嵌套 5.1.4 多个引用 5.2 公用表表达式 5.2.1 分别列别名 5.2.2 使用参数 5.2.3 定义多个CTE 5.2.4 CTE的多次引用 5.2.5 递归CTE 5.3 视图 5.3.1 视图和ORDER BY 子句 5.3.2 视图选项 5.4 内嵌表

angularJS (2) angular.min.js

angular.min.js /* AngularJS v1.2.29 (c) 2010-2014 Google, Inc. http://angularjs.org License: MIT*/(function(V,W,v){'use strict';function z(b){return function(){var a=arguments[0],c,a="["+(b?b+":":"")+a+"] http://errors.a

SQL Server2012 T-SQL基础教程--读书笔记

SQL Server2012 T-SQL基础教程--读书笔记 SqlServer Chapter 01 T-SQL 查询和编程背景 1.3 创建表和定义数据的完整性 1.3.1 创建表 1.3.2 定义数据的完整性 1. 主键约束 2. 唯一约束 3. 外键束约 4. CHECK约束 5. 默认约束 Chapter 02 单表查询 2.1 SELECT 语句元素 2.1.7 TOP和OFFSET-FETCH 1. TOP筛选 2. OFFSET-FETCH 2.1.8 开窗函数速览 2.2 谓词

AIDE 学习笔记

参考:http://www.iamle.com/archives/1664.html AIDE的用法和tripwire类似.都是通过生成一份文件指纹的数据库,然后对比.所以,我们最好在刚安装完系统后,就安装这个工具,获取一份干净的文件指纹. 安装与配置 yum -y install aide 主要文件如下: 主程序:/usr/sbin/aide 文件指纹库:/var/lib/aide 日志:/var/log/aide cp /etc/aide.conf /etc/aide.conf_bak vi

ButterKnife 注解

简介 官网:http://jakewharton.github.io/butterknife/ github:https://github.com/JakeWharton/butterknife 依赖:[compile 'com.jakewharton:butterknife:8.0.1' ] 注意:7.0版本与8.0版本方法名有所改动,整体业务逻辑和原理没什么变动 在android编程过程中,我们会写大量的布局和点击事件,像初始view.设置view监听这样简单而重复的操作让人觉得麻烦类,所以

Vim Tutor Summary

Vim tutor makes you know enough commands to easily use Vim.  If you wanna get full version of vim tutor, execute vimtutor in the shell. Lesson 1 The cursor is moved using either the arrow keys or the hjkl keys: h (left), j (down), k (up), l (right) T