山海之间

R语言学习12-文本处理

R语言学习12-文本处理
2020-06-11 · 4 min read
文本 R语言 教程

在大多数类型中,数据都是以文本编码的,即使有时候表示的是数字。因此学习对文本的操作是有必要的。R提供了一些用于处理文本的内置工具,并且R为文本分析提供了丰富的软件包生态系统。 首先,让我们学习一些基本的文本操作功能。

文本在R中是字符串对象,在控制台里用引号包围。比如"hello""Strings are fun!"都是字符串。我们可以通过is.character()函数判断一个对象是否是字符串。字符串在R中也称为字符。

我们可以直接把字符串赋值给变量,比如把Hello World!赋值给变量x

> x <- "Hello World!"
> x
[1] "Hello World!"

连接合并字符串

可以使用paste()连接多个字符串。

> paste("Square", "Circle", "Triangle")
[1] "Square Circle Triangle"

默认情况下,paste()函数的分隔符使用的是空格" "。通过sep参数可以指定其他分隔符。

> paste("Square", "Circle", "Triangle", sep = "+")
[1] "Square+Circle+Triangle"

有一个与paste()函数类似的函数paste0(),这个函数的作用也是连接字符串,但是连接后的字符串没有分隔符,因此也没有sep参数。

> paste0("Square", "Circle", "Triangle")
[1] "SquareCircleTriangle"

paste()除了能接受字符串作为参数外,也接受字符串向量作为参数。

> shapes <- c("Square", "Circle", "Triangle")
> paste("My favorite shape is a", shapes)
[1] "My favorite shape is a Square"   "My favorite shape is a Circle"   "My favorite shape is a Triangle"

可以看到,当字符串字符串向量一起作为参数时,字符串和向量的每一个元素都进行了连接。即字符串被当成了单元素的向量,并循环复用了。

我们还可以使用paste()连接字符串向量内部的字符串,并使用collapse参数指定分隔符。

> paste(shapes, collapse = " ")
[1] "Square Circle Triangle"

其他操作

除了连接字符串外,我们还应该了解其他一些基本的字符串操作功能。

当我们想统计一个字符串由多少个字符组成时,可以使用nchar()

> nchar("Count Me!")
[1] 9

toupper()tolower()函数可以分别将字符串全部转成大写和小写。

> cases <- c("CAPS", "low", "Title")
> toupper(cases)
[1] "CAPS"  "LOW"   "TITLE"

> tolower(cases)
[1] "caps"  "low"   "title"

小结

在本课程中,我们仅介绍了在R中操作字符串的基础知识,在正则表达式课程中会学习更多内容。

  • paste()
  • paste0()
  • nchar()
  • toupper()
  • tolower()

本文首发于公众号:柠檬培养师(ID: yantinger90),欢迎关注!

Powered by Gridea,浙ICP备17039354号-1,© 2019 - 2020🍋