R语言:数据筛选match
数据筛选是在分析中最常用的步骤,如微生物组分析中,你的OTU表、实验设计、物种注释之间都要不断筛选,来进行数据对齐,或局部分析。
今天来详解一下此函数的用法。
match
match:匹配两个向量,返回x中存在的返回索引或TRUE、FALSE
match函数使用格式有如下两种:
第一种方便设置参数,返回x中元素在table中的位置
match(x, table, nomatch = NA_integer_, incomparables = NULL)
第二种简洁,返回x中每个元素在table中是否存在
x %in% table
参数详解
- x: 向量, 要匹配的值;
- table: 向量, 被匹配的值;
- nomatch: 没匹配上的返回值, 必须是整数;
- incomparables: 指定不能用来匹配的值.
match函数是一个完全匹配函数, 当两个元素类型不一样时, 如果进行类型转换后匹配得上的话, 则仍可匹配, 可看下例.
匹配上且返回位置
match(c(1, "TRUE"), c(T, 0, "1"))
返回3 1,即1位于表中的3号位,TRUE位于1号位,且T和TRUE可匹配成功
c(1, "TRUE", F) %in% c(T, 0, "1")
返回TRUE TRUE FALSE,表示每个元素在table中是否存在
pmatch
pmatch函数是一个部分匹配函数, 依次从x里面挑出元素, 对照table进行匹配, 若匹配上则剔除匹配上的值, 不再参与下次匹配, duplicate.ok可设置是否剔除; 对于某一个元素, 匹配一共分成三步:
- 如果可以完全匹配, 则认为匹配上了, 返回table中的位置;
- 不满足上述条件, 如果是唯一部分匹配, 则返回table中的位置;
- 不满足上述条件, 则认为没有值与其匹配上.
pmatch函数的格式
pmatch(x, table, nomatch = NA_integer_, duplicates.ok = FALSE)
- x: 向量, 要匹配的值;
- table: 向量, 被匹配的值;
- nomatch: 没匹配上的返回值, 必须是整数;
- duplicates.ok: table里面的元素是否可以适用多次.
默认不允许重复使用table中元素,返回位置1 2 3
pmatch(rep(1, 3), rep(1, 5))
允许重复,返回位置1 1 1
pmatch(rep(1, 3), rep(1, 5), duplicates.ok = TRUE)
猜你喜欢
- 10000+: 菌群分析
宝宝与猫狗 提DNA发Nature 实验分析谁对结果影响大 Cell微生物专刊 肠道指挥大脑 - 系列教程:微生物组入门 Biostar 微生物组 宏基因组
- 专业技能:生信宝典 学术图表 高分文章 不可或缺的人
- 一文读懂:宏基因组 寄生虫益处 进化树
- 必备技能:提问 搜索 Endnote
- 文献阅读 热心肠 SemanticScholar Geenmedical
- 扩增子分析:图表解读 分析流程 统计绘图
- 16S功能预测 PICRUSt FAPROTAX Bugbase Tax4Fun
- 在线工具:16S预测培养基 生信绘图
- 科研经验:云笔记 云协作 公众号
- 编程模板: Shell R Perl
- 生物科普: 肠道细菌 人体上的生命 生命大跃进 细胞暗战 人体奥秘
写在后面
为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外2600+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍末解决群内讨论,问题不私聊,帮助同行。
学习扩增子、宏基因组科研思路和分析实战,关注“宏基因组”
点击阅读原文,跳转最新文章目录阅读
https://mp.weixin.qq.com/s/5jQspEvH5_4Xmart22gjMA
R语言:数据筛选match相关推荐
- R语言数据对象与运算
R语言数据对象与运算 笔记整理 2.1 数据对象及类型 R语言创建和控制的实体被称为对象(object) ls()命令来查看当前系统里的数据对象 R对象的名称必须以一个英文字母打头,并由一串大小写字母 ...
- 【组队学习】【28期】R语言数据科学
R语言数据科学 论坛版块: http://datawhale.club/c/team-learning/36-category/36 开源内容: https://github.com/datawhal ...
- 推荐:一本“高颜值”的R语言数据可视化图书(包邮送3本)
文章留言点赞前3名的朋友,每人送1本<R语言数据化可视化之美增强版>,名单揭晓日期为:本周日 (2020年7月12日晚7点).到时,获奖的朋友可以直接添加微信:meta-genomics, ...
- 半折预售:新书-R语言数据可视化之美|ggplot2作者推荐
我本来想等正式发售的时候,再告诉大家我的新书<R语言数据可视化之美>已经出版,奈何新书还太贵,这几天刚好京东有买100减50的活动,所以想想还是赶紧告诉大家吧,不然平时购买的话,太真有点小 ...
- R语言数据包自带数据集之ISwR包的melanom数据集字段解释、数据导入实战
R语言数据包自带数据集之ISwR包的melanom数据集字段解释.数据导入实战 目录 R语言数据包自带数据集之ISwR包的melanom数据集字段解释.数据导入实战 #数据字段说明 #导入包 #导入数 ...
- R语言数据包自带数据集之survival包的colon数据集字段解释、数据导入实战
R语言数据包自带数据集之survival包的colon数据集字段解释.数据导入实战 #数据字段说明 colon数据集:B/C期结肠癌辅助化疗治疗数据 d # 患者编号 study # 所有患者都是1 ...
- R语言数据包自带数据集之survival包的lung数据集字段解释、数据导入实战
R语言数据包自带数据集之survival包的lung数据集字段解释.数据导入实战 目录 R语言数据包自带数据集之survival包的lung数据集字段解释.数据导入实战 #数据字段说明 #导入包 #导 ...
- R语言数据包自带数据集之ToothGrowth数据集字段解释、数据导入实战
R语言数据包自带数据集之ToothGrowth数据集字段解释.数据导入实战 目录 R语言数据包自带数据集之ToothGrowth数据集字段解释.数据导入实战 #数据字段说明 #导入包 #导入数据 #数 ...
- R语言数据包自带数据集之mtcars数据集字段解释、数据导入实战
R语言数据包自带数据集之mtcars数据集字段解释.数据导入实战 目录 R语言数据包自带数据集之mtcars数据集字段解释.数据导入实战 #会用帮助?或者help函数 #字段说明 #导入包 #导入数据 ...
- R语言数据描述性统计(Descriptive statistics)实战:数据全局描述信息、数值数据的描述性统计(Numerical data)、离散型数据的描述性统计(Categorical)
R语言数据描述性统计(Descriptive statistics)实战:数据全局描述信息.数值数据的描述性统计(Numerical data).离散型数据的描述性统计(Categorical) 目录
最新文章
- [翻译]自动维护索引重新生成组织的SQL批处理语句
- 基于 MongoDB 及 Spring Boot 的文件服务器的实现
- 改变TabNavigator控件第一个tab标签的偏移量.
- oddo docker 安装
- php odbc连接sqlserver,php pdo连接sqlserver配置
- 陕西师范大学 渝粤教育 《学前儿童数学教育》作业
- pythonの鉴黄之路(一)——YCbCr简易版鉴黄脚本
- java 异常 最好在action捕获还是service_到底应该在action里面捕捉异常还是在service里面捕捉异常?...
- echarts地图动画和java_echarts 实现中国地图
- 昔日的 HTC 与三星,今日的苹果:寒冬过后手机厂商才会明白的潜规则
- tensorflow sigmoid 如何计算训练数据的正确率_量化训练:Quantization Aware Training in Tensorflow(一)...
- 用递归实现求一个迷宫是否有通路
- 24. Declear non-member functions when type conversions should apply to all parameters
- Cfs三层靶机内网渗透模拟
- 韦东山: 作为一个初学者,怎样学习嵌入式Linux?
- CUDA学习笔记(三)——共享内存
- 2022第十一届PMO大会(线上会议)成功召开
- 近期优秀技术讲座资料和内容推荐
- Python不能做游戏?一小时做出一个游戏!
- Centos 通过 Nginx 和 vsftpd 构建图片服务器