美文网首页R数据清洗生信学习
stringr-处理字符的函数

stringr-处理字符的函数

作者: 萍智医信 | 来源:发表于2022-01-30 18:19 被阅读0次

准备工作:安装R包载入数据

rm(list = ls())
if(!require(stringr))install.packages('stringr')
library(stringr)
x <- "The birch canoe slid on the smooth planks."

1.检测字符串长度

length(x)
str_length(x)
str_length(" ")
最后一行代码说明空格也占一个字符

2.字符串拆分与组合

str_split(x," ")
class(str_split(x," "))

可以看出拆分后,向量变成了列表,可以通过列表取子集的方式来重新提取向量。

x2 = str_split(x," ")[[1]]
class(x2)
x2

用下列代码拆分后生成的是矩阵

str_split(x," ",simplify = T)
class(str_split(x," ",simplify = T))

下面我们把拆分的字符合并起来

x2
str_c(x2,collapse = " ")
str_c(x2,1234,sep = "+")

3.提取字符串的一部分

x
str_sub(x,5,9)

很明显空格占一个字符。

4.大小写转换

#全部转换成大写
str_to_upper(x2)
#全部转换成小写
str_to_lower(x2)
#全部首字母大写
str_to_title(x2)

5.字符串排序

x2
str_sort(x2)

按26英文字母顺序排序

6.字符检测

str_detect(x2,"h")
str_starts(x2,"T")
str_ends(x2,"e")
与sum和mean连用,可以统计匹配的个数和比例
str_detect(x2,"h")
sum(str_detect(x2,"h"))
mean(str_detect(x2,"h"))

mean(str_detect(x2,"h"))得出的结果为什么是0.5,看下图,先把str_detect(x2,"h")得出的逻辑型向量转换成数值型向量,TURE:1,FALSE:0,其中1占4个,总数为8,4/8=0.5,故TURE占50%,x2向量中含h占总数的50%。

7.提取匹配到的字符串

x2
#方法一
str_subset(x2,"h")
#方法二
x2[str_detect(x2,"h")]

8.字符计数

x
str_count(x," ")

统计x中的空格数,有7个空格

x2
str_count(x2,"o")

x2向量中,每个元素中o的个数

str_count(x)
length(x)
x
str_count(x2)
length(x2)
x2

9.字符串替换

x2
str_replace(x2,"o","A")
str_replace_all(x2,"o","A")

------------------------------------------小练习----------------------------------------

#Bioinformatics is a new subject of genetic data collection,analysis and dissemination to the research community.
#1.将上面这句话作为一个长字符串,赋值给tmp
tmp = "Bioinformatics is a new subject of genetic data collection,analysis and dissemination to the research community."
#2.拆分为一个由单词组成的向量,赋值给tmp2(注意标点符号)
library(stringr)
tmp2 = tmp %>% 
  str_replace(","," ") %>%
  str_remove("[.]") %>% 
  str_split(" ")
tmp2 = tmp2[[1]]

参考资料:生信技能树-小洁老师

相关文章

  • stringr-处理字符的函数

    准备工作:安装R包载入数据 1.检测字符串长度 2.字符串拆分与组合 可以看出拆分后,向量变成了列表,可以通过列表...

  • PHP字符串处理函数

    字符串长度函数 字符串替换函数 截取字符串函数 分割、连接、反转函数 空白处理函数 字符转义函数 字符串比较函数

  • 函数

    单行函数 处理单行数据 字符函数 接受字符数据作为输入 大小写处理函数 转换所字母为小写 LOWER 转换所有字母...

  • MySQL常用函数

    MySQL常用函数分为四种:1、字符串函数:用于处理字符串2、数值函数:用于处理数字3、日期和时间函数4、系统信息...

  • mysql函数汇总之字符串函数

    字符串函数主要用来处理数据库中的字符串数据。mysql中的字符串函数有计算字符串长度函数、字符串合并函数、字符串替...

  • mysql常用函数

    1、常用日期时间处理函数 2、常用字符串处理函数 3、流程控制函数 4、进制转换函数

  • 39、Excel 处理字符之中连续字符 ETStrProcess

    函数名:ETStrProcessChar 函数功能:处理文本数据重复的字符(连续相同的字符) 应用场景: 1...

  • 字符串处理函数总结

    1. 字符串处理函数总结

  • 九月四号

    PHP函数之内置函数 内置函数指的是PHP默认支持的函数,PHP内置了很多标准的常用的处理函数,包括字符串处理、数...

  • 常见的函数一览:

    strtoul():字符串转成长整型数snprintf():字符串复制函数signal():信号处理函数execl...

网友评论

    本文标题:stringr-处理字符的函数

    本文链接:https://www.haomeiwen.com/subject/ozqqfrtx.html