时间:2021-05-20
数据筛选是在分析中最常用的步骤,如微生物组分析中,你的OTU表、实验设计、物种注释之间都要不断筛选,来进行数据对齐,或局部分析。
今天来详解一下此函数的用法。
match:匹配两个向量,返回x中存在的返回索引或TRUE、FALSE
第一种方便设置参数,返回x中元素在table中的位置
match(x, table, nomatch = NA_integer_, incomparables = NULL)第二种简洁,返回x中每个元素在table中是否存在
x %in% tablex: 向量, 要匹配的值;
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函数是一个部分匹配函数, 依次从x里面挑出元素, 对照table进行匹配, 若匹配上则剔除匹配上的值, 不再参与下次匹配, duplicate.ok可设置是否剔除; 对于某一个元素,
1、如果可以完全匹配, 则认为匹配上了, 返回table中的位置;
2、不满足上述条件, 如果是唯一部分匹配, 则返回table中的位置;
3、不满足上述条件, 则认为没有值与其匹配上.
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)补充:R语言实例-数据过滤
一组数据,变量有40个,就是40列。
我要做数据筛选。
1.第一列中包含语段"a11","a12","b23"。请注意是包含,实际不存在“a11”,往往是“a1120”之类的信息
2.第二列中不包含“美国”、“日本”等信息。请注意,也是不包含,而不是不等于。
请问具体的R语言语句应该怎么写?
假设楼主的数据为一数据框,名字为“testdat”,第一列名"a",第二列名"b",则过滤语句为:
result<-subset(testdat,grepl("a11|a12|b23",testdat$a) & !grepl("美国|日本",testdat$b))grep()函数返回的是匹配元素的索引,grepl()返回的是匹配或不匹配的逻辑值:
grep(value = FALSE) returns a vector of the indices of the elements of x that yielded a match (or not, for invert = TRUE. This will be an integer vector unless the input is a long vectorgrepl returns a logical vector (match or not for each element of x).以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
支持所有PS版本Get-ChildItem不支持文件高级筛选。它只能使用简单的通配符,但不能使用正则表达式。围绕这个问题,我们可以使用-match命令来筛选。下
1.筛选数组本文介绍PowerShell中使用match操作符,配合正则表达式从数组中筛选出想要的内容。先看下面这个例子:PSC:\Users\Hong>(ip
既然了解了R语言的基本数据类型,那么如何将庞大的数据送入R语言进行处理呢?送入的数据又是如何在R语言中进行存储的呢?处理这些数据的方法又有那些呢?下面我们一起来
R语言dplyr包的数据整理、分析函数用法文章连载NO.01在日常数据处理过程中难免会遇到些难处理的,选取更适合的函数分割、筛选、合并等实在是大快人心!利用dp
处理一般主要用的有如下语言:R语言:为统计人员开发的一种语言,可以用R语言构建深奥的统计模型、数据探索以及统计分析等;Python语言:Python是数据分析利