字符向量

一个字符向量是由字符串组成的向量。这里的一个字符不是指着文学意义上的单独的
字母或者符号,而是一个类似 this is a string 这样的字符串。双引号和单引号都可
以用来生成字符向量,例如:
"hello, world!"
## [1] "hello, world!"
'hello, world!'
## [1] "hello, world!"
我们也可以使用组合函数 c( )来创建一个多元素的字符向量:
c("Hello", "World")
## [1] "Hello" "World"
使用==来判断两个向量中处于对等位置的值是否相等,这同样适用于字符向量:
c("Hello", "World") == c('Hello', 'World')
## [1] TRUE TRUE
因为单引号 ' 和双引号 " 都可以用来生成字符串并且不影响其含义,所以上述两个字符
向量相等:
2.1 向量 21
c("Hello", "World") == "Hello, World"
## [1] FALSE FALSE
上述表达式产生了两个 FALSE,是因为 Hello 和 World 都不等于 Hello, World。
两种引号之间的唯一区别是,当生成一个包含引号的字符串时,它们的行为是不同的。
如果你想要在双引号内部嵌套双引号时,需要用反斜杠(\)来转义内部的双引号,类
似使用“生成一个包含了其本身的字符串(一个单元素的字符向量),你需要在字符串内部
输入\ 来转义”,用以防止编译时将字符串内部的”当作字符串的末引号。
接下来的例子展示了引号的转义。我们使用函数 cat( )来生成指定文本:
cat("Is \"You\" a Chinese name?")
## Is "You" a Chinese name?
如果你感觉这不易于阅读,也可以使用 ’ 来生成该字符串,这样可以变得更简单:
cat('Is "You" a Chinese name?')
## Is "You" a Chinese name?
也就是说,双引号内部可以嵌套单引号,同样,单引号内部也可以嵌套双引号,即:"允
许'存在于没有转义过的字符串中,'也允许"存在于没有转义过的字符串中。
现在我们掌握了关于生成数值向量、逻辑向量和字符向量的基本知识。实际上,在 R
中也有复数向量(complex vector)和原向量(raw vector)。复数向量是由复数组成的向量,
例如 c(1 + 2i, 2 + 3i)。原向量主要存储用十六进制格式表示的原始二进制数据。这
两种类型的向量很少使用,但是它们与之前介绍过的 3 种类型的向量(整数型、逻辑型、
字符型)具有很多相同的性质。
在下一节中,我们将学习到几种访问向量子集的方法。通过对向量取子集,你将理解
不同类型的向量间是如何相互联系的。

posted @ 2019-01-22 09:45  NAVYSUMMER  阅读(2326)  评论(0编辑  收藏  举报
交流群 编程书籍