R语言必学包之stringr包

放暑假了哎~

当处理文本数据时,深深地发现不能熟练运用字符串处理函数,是多么的浪费时间,还是做个整理,用的时候也方便查阅。

1

正则表达式

想要处理字符向量,熟悉正则表达式是必不可少的。

正则表达式:用来检索、替换那些符合某个模式(规则)的文本(非R专属,其他程序语言用的更多)

1.大部分字符比如字母,数字本身就是正则表达式,用于匹配本身,比如‘a’就是匹配‘a’的正则表达式

2.存在一些字符已经被转义,称为“元字符”,如. \ | ( ) [ ] { } ^ $ * + ?等,它们有特殊的意义。比如.代表任意一个字符,|表示前后表达式任选一个等。

3.想要匹配以上字符,需要加引用符号,一般是反斜杠\,在R中,需要加入两个反斜杠\\,比如匹配?,则写成\\?。

4.常用的特殊元字符了解一下(见表1)。

表1:正则表达式总结

2

R自带处理函数

R自带字符串处理函数,详细见《R语言实战》93页

1.获取字符串长度

nchar(x) 注意与length(x)的区别

2.字符串截取与替换

substr(x,start,stop) start与stop表示位置

3.字符串匹配

grep(pattern,x,ignore.case=FALSE,fixed=FALSE,value=TRUE) 返回值为匹配的位置索引;grepl()返回值为逻辑值TRUE/FALSE

4.字符串替换

sub(pattern,replacement,x,ignore.case=FALSE,fixed=FALSE)注意这里只替换第一个发现的结果;gsub()替换所有发现的目标值

5.字符串分割

strsplit(x,split,fixed= FALSE) 在split处分割字符串

6.字符串拼接

paste(…,sep = “”,collapse = NULL) sep表示两组字符串之间连接符,collapse表示一组字符串内部连接

7.大小写转换

toupper(x) 转为大写 tolower(x) 转为小写

以上所有ignore.case表示是否对大小写敏感,为了精确匹配,默认是敏感的;fixed表示是否将pattern视为正则表达式或一个文本字符串,默认是正则表达式;value表示是否返回原值,默认是返回匹配目标位置。

3

stringr包处理函数

对于R语言本身的base包提供的字符串基础函数,由于函数规则不一致,使用起来不是很方便,而stringr包被定义为一致的、简单易用的字符串工具集,所有的函数和参数定义都具有一致性,推荐学习使用。

ps:推文在电脑上看才能看全表格的内容…

4

应用

围在城里的人想逃出来,城外的人想冲进去,对婚姻也罢,职业也罢,人生的愿望大都如此。 --《围城》挺好看的

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180630G1DYI100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券