好声音被曝黑幕?认真,你就输了! 当前位置:首页>好声音被曝黑幕?认真,你就输了!>正文

好声音被曝黑幕?认真,你就输了!

发布时间:2019-03-22

原标题:R学习笔记 第五篇:字符串操作

R学习笔记 第五篇:字符串操作


文本数据存储在字符向量中,字符向量的每个元素都是字符串,而非单独的字符。在R中,可以使用双引号,或单引号表示字符,函数nchar用于获得字符串中的字符数量:

> s="read"
> nchar(s)
[1] 4

R语言使用“”,把特定的字符转义为特殊字符,例如 “ ”是制表符,换行符是“ ”,或者 “ ”,通常情况下, 是回车符,把光标移动到当前行的开始,并覆盖当前行已经存在的数据,而 是换行,把光标移动到一下行;

常用的转义字符是:使用两个“\”,打印“”;在字符串中包含双引号或单引号,使用“"”,或“"”;如果在双引号中使用单引号,或者在单引号中使用双引号,那么不需要对引号进行转义,R会打印引号。

一,拼接字符

函数paste用于把不同的字符向量组合起来,传递的参数是字符向量,返回的数据类型是字符向量:

paste (..., sep = " ", collapse = NULL)

paste函数按照向量元素的位置顺序,把向量中的元素拼接在一起,中间以sep参数(默认值是空格)分割,collapse参数用于把结果向量(字符向量)的各个元素折叠成一个单独的字符串,使用collapse指定的字符把结果向量的各个元素拼接在一起:

> paste(c("red","yellow"),"lorry")
[1] "red lorry"    "yellow lorry"
> paste(c("red","yellow"),c("lorry","car"))
[1] "red lorry"  "yellow car"
> paste(c("red","yellow"),c("lorry","car"),collapse=",")
[1] "red lorry,yellow car"

二,格式化数字

format函数用于把数字(numeric)类型转换成字符类型,formatC函数使用C语言风格来指定输出的格式,而更通用的C风格的格式化函数是sprintf,第一个参数包含字符串或数字变量的占位符,其他参数逐个对应这些占位符,sprintf函数的占位符:

  • %s:代替字符串
  • %f:浮点型数组
  • %d:整数

例如,format函数和sprintf函数对数字格式化输出的结果是:

> format(1)
[1] "1"
> format(1.3)
[1] "1.3"
> sprintf("%f, %d",1.3,1)
[1] "1.300000, 1"

三,更改字符的大小写

使用toupper和tolower函数,能把字符串中的字符全部转换为大写或小写:

> toupper("Vic")
[1] "VIC"
> tolower("Vic")
[1] "vic"

四,截取字符串

substr或substring函数用于从字符串中截取子串,字符串的位置从1开始,

substr(x, start, stop)
substring(text, first, last = 1000000L)

1,当start和stop是正整数时,substr和substring函数的行为是相同的:

> substr("R is free software",1,6)
[1] "R is f"
> substring("R is free software",1,6)
[1] "R is f"

2,当start和stop是向量时,substr和substring函数的行为是不相同的:

> substring("R is free software",1:4,6:9)
[1] "R is f" " is fr" "is fre" "s free"
> substr("R is free software",1:4,6:9)
[1] "R is f"

五,分割字符串

函数strsplit用于按照指定的字符把长的字符串分割成断的子字符串,

strsplit(x, split, fixed = FALSE)

参数split是用于分割字符串,当参数fixed为TRUE时,表示字符串完全匹配split分隔符;当fixed参数为FALSE时,表示参数split是包含正则表达式的字符,使用正则匹配。函数返回的结果是字符列表,一个列表项对应一个字符串。

> strsplit("ab,cd,ef",",")
[[1]]
[1] "ab" "cd" "ef"

六,stringr包

stringr包对字符串操作函数提供了一致的包装,字符串操作,基本上使用该包提供的函数就够了,在使用之前,首先引用stringr包:

library(stringr)

str_length 函数计算字符串的长度:

> str_length("vic")
[1] 3

str_sub函数用于截取子字符串:

> x <- c("abcdef", "ghifjk")
> str_sub(x, 3, 3)
> [1] "c" "i"

字符的序号,字符排序:

x <- c("y", "i", "k")
str_order(x)
#> [1] 2 3 1

str_sort(x)
#> [1] "i" "k" "y"

str_detect函数按照指定的模式查找字符串,返回逻辑值;str_subset返回匹配模式的字符串:

str_detect() detects the presence or absence of a pattern and returns a logical vector (similar to grepl()). str_subset() returns the elements of a character vector that match a regular expression (similar to grep() with value = TRUE)`.

str_detect(string, pattern)

str_split函数按照指定的模式分割字符串:

str_split(string, pattern, n = Inf, simplify = FALSE)

str_count函数用于统计字符串中的指定字符的数量:

str_count(string, pattern = "")

更多函数的详细信息,请阅读stringr包的官方文档:《Introduction to stringr》。

当前文章:http://playvision.biz/forum.php?mod=viewthread&tid=67349

发布时间:2019-03-22 02:20:51

可以慢,但不能停 女优卖胸与日本本土AV文化不符 情绳 比直男癌更恶心的,是直女癌 我们早已是故乡的异乡人 “张斌挺老虎伍兹引火烧身”说明了什么? 父亲:我们认识吗? 老子之励志 我们为什么要工作? 恐怖袭击接踵而至,法国怎么了?

暗蛾破茧的那个刹那 一篇文章看懂Android学习最佳路线 宰掉那只无辜的狼 生活就是一个七天接着一个七天 他们凭什么成为罗德学者 罗李华谈:属鸡的人2016年运程 小学新生:入学前家长常见困惑答疑 有些爱就是用来辜负的 学习能力个案:1年级 淘气包大变身! 现代化的停车场运营管理系统理念 117年前的今天,天堂里多了位茜茜公主 暖男是得不到性的 爱,分享与孝顺 2011成长营:参加国际大赛的经历 为什么现在的女孩越来越难追? 宝宝皮肤过敏怎么办 幼师对儿童心理成长的重要作用(详) 修持戒定慧来开悟明智和去除烦恼 我要上小学了:成长营的第二天

编辑:王文建纯

责任编辑:安伯公