R中的grep和grepl函数

Python04

R中的grep和grepl函数,第1张

在日常数据分析的过程中,我们经常需要在一个字符串或者字符串向量中查找是否包含我们要找的东西,或者向量中那几个元素包含我们要查找的内容。这个时候我们会用到R中最常用的两个函数 grep grepl。 其实grep这个函数也并非是R所特有的,在linux中模式匹配也用grep这个函数,前面我就给大家简单介绍过☞ Linux xargs grep zgrep命令 。

我们先来看看grep和grepl这两个函数的用法。

这两个函数最大的区别在于grep返回找到的位置,grepl返回是否包含要查找的内容。接下来我们结合具体的例子来讲解。

运行结果如下:

以上是一些简单的例子,前面我们给大家举过一个 grepl 实战的例子。

☞讨论学习R的grepl函数

参考资料:

☞ Linux xargs grep zgrep命令

☞讨论学习R的grepl函数

R中的grep和grepl函数

R语言字符串处理常用函数

R语言中常用的字符串处理函数:

(1)得到字符串长度:nchar()

# 生成示范字符串

(2)剪切字符串:strsplit()

# 对字符串进行剪切

(3) 得到子字符串:substr()

# 得到子字符串

(4) 判断字符串中是否有某个字串:grepl()

# 判断字符串中是否有某个字串

(5) 字符串替换:gsub()

(6)字符串定位

在Hmisc包里,有一个函数可以很方便的对文本的的目标字符串进行定位,substring.location()

取字符数量的函数

length与nchar不同,length是取向量的长度

字符替换

字符串粘合函数

paste在不指定分割符的情况下,默认分割符是空格

paste0在不指定分割符的情况下,默认分割符是空

字符串截取函数

字符串替换

gsub替换匹配到的全部

sub 替换匹配到的第一个

字符串匹配

grep函数返回的是索引值

grepl函数返回的是逻辑值

match:匹配两个向量,返回x中存在的返回索引或TRUE、FALSE

match函数使用格式有如下两种:

参数详解

第一种方便设置参数,返回x中元素在table中的位置

第二种简洁,返回x中每个元素在table中是否存在

pmatch函数是一个部分匹配函数, 依次从x里面挑出元素, 对照table进行匹配, 若匹配上则剔除匹配上的值, 不再参与下次匹配, duplicate.ok可设置是否剔除对于某一个元素, 匹配一共分成三步:

如果可以完全匹配, 则认为匹配上了, 返回table中的位置

不满足上述条件, 如果是唯一部分匹配, 则返回table中的位置

不满足上述条件, 则认为没有值与其匹配上.

pmatch函数的格式

pmatch(x, table, nomatch = NA_integer_, duplicates.ok = FALSE)