R - 字符串
在 R 中的一对单引号或双引号中写入的任何值都被视为字符串。在内部,R 将每个字符串都存储在双引号中,即使你使用单引号创建它们也是如此。
字符串构造中应用的规则
- 字符串开头和结尾的引号应为双引号或双引号。它们不能混合。
- 可以将双引号插入到以单引号开头和结尾的字符串中。
- 可以将单引号插入到以双引号开头和结尾的字符串中。
- 双引号不能插入到以双引号开头和结尾的字符串中。
- 不能将单引号插入到以单引号开头和结尾的字符串中。
有效字符串示例
以下示例阐明了有关在 R 中创建字符串的规则。
a <- '以单引号开始和结束'
print(a)
b <- "以双引号开始和结束"
print(b)
c <- "双引号之间的单引号 ' "
print(c)
d <- '双引号”位于单引号之间'
print(d)
运行上述代码时,我们得到以下输出 -
[1] "以单引号开始和结束"
[1] "以双引号开始和结束"
[1] "双引号之间的单引号 ' "
[1] "双引号”位于单引号之间"
[1] "以双引号开始和结束"
[1] "双引号之间的单引号 ' "
[1] "双引号”位于单引号之间"
无效字符串的示例
e <- 'Mixed quotes"
print(e)
f <- 'Single quote ' inside single quote'
print(f)
g <- "Double quotes " inside double quotes"
print(g)
当我们运行脚本时,它失败,给出以下结果。
Error: unexpected symbol in:
"print(e)
f <- 'Single"
Execution halted
"print(e)
f <- 'Single"
Execution halted
字符串操作
连接字符串 - paste() 函数
R 中的许多字符串都使用 paste() 函数进行组合。它可以将任意数量的参数组合在一起。
语法
paste 函数的基本语法是 -
paste(..., sep = " ", collapse = NULL)
以下是所用参数的描述 -
- ...表示要组合的任意数量的参数。
- sep 表示参数之间的任何分隔符。它是可选的。
- collapse 用于消除两个字符串之间的空格。但不是字符串的两个单词内的空格。
例
a <- "Hello"
b <- 'How'
c <- "are you? "
print(paste(a,b,c))
print(paste(a,b,c, sep = "-"))
print(paste(a,b,c, sep = "", collapse = ""))
当我们执行上述代码时,它会产生以下结果——
[1] "Hello How are you? "
[1] "Hello-How-are you? "
[1] "HelloHoware you? "
[1] "Hello-How-are you? "
[1] "HelloHoware you? "
格式化数字和字符串 - format() 函数
可以使用 format() 函数将数字和字符串格式化为特定样式。
语法
format 函数的基本语法是 −
format(x, digits, nsmall, scientific, width, justify = c("left", "right", "centre", "none"))
以下是所用参数的描述 -
- x 是向量输入。
- digits 是显示的总位数。
- nsmall 是小数点右侧的最小位数。
- scientific 设置为 TRUE 以显示科学记数法。
- width 表示通过在开头填充空白来显示的最小宽度。
- justify 是字符串向 left、right 或 center 的显示。
例
# 显示的数字总数。最后一位数字四舍五入。
result <- format(23.123456789, digits = 9)
print(result)
# 以科学记数法显示数字。
result <- format(c(6, 13.14521), scientific = TRUE)
print(result)
# 小数点右侧的最小位数。
result <- format(23.47, nsmall = 5)
print(result)
# Format将所有内容都视为字符串。
result <- format(6)
print(result)
# 数字开头用空格填充宽度。
result <- format(13.7, width = 6)
print(result)
# 左对齐字符串。
result <- format("Hello", width = 8, justify = "l")
print(result)
# 将居中对齐。
result <- format("Hello", width = 8, justify = "c")
print(result)
当我们执行上述代码时,它会产生以下结果——
[1] "23.1234568"
[1] "6.000000e+00" "1.314521e+01"
[1] "23.47000"
[1] "6"
[1] " 13.7"
[1] "Hello "
[1] " Hello "
[1] "6.000000e+00" "1.314521e+01"
[1] "23.47000"
[1] "6"
[1] " 13.7"
[1] "Hello "
[1] " Hello "
计算字符串中的字符数 - nchar() 函数
此函数计算字符串中包含空格的字符数。
语法
nchar() 函数的基本语法是 −
nchar(x)
以下是所用参数的描述 -
- x 是向量输入。
例
result <- nchar("Count the number of characters")
print(result)
当我们执行上述代码时,它会产生以下结果——
[1] 30
改变大小写 - toupper() & tolower() 函数
这些函数更改字符串字符的大小写。
语法
toupper() & tolower() 函数的基本语法是 −
toupper(x)
tolower(x)
以下是所用参数的描述 -
- x 是向量输入。
例
# 改为大写。
result <- toupper("Changing To Upper")
print(result)
# 改为小写。
result <- tolower("Changing To Lower")
print(result)
当我们执行上述代码时,它会产生以下结果——
[1] "CHANGING TO UPPER"
[1] "changing to lower"
[1] "changing to lower"
提取字符串的各个部分 - substring() 函数
此函数提取 String 的各个部分。
语法
substring() 函数的基本语法是 −
substring(x,first,last)
以下是所用参数的描述 -
- x 是字符向量输入。
- first 是要提取的第一个字符的位置。
- last 是要提取的最后一个字符的位置。
例
# 从第5位到第7位提取字符。
result <- substring("Extract", 5, 7)
print(result)
当我们执行上述代码时,它会产生以下结果——
[1] "act"