- R 教程
- R - 首页
- R - 概述
- R - 环境设置
- R - 基本语法
- R - 数据类型
- R - 变量
- R - 运算符
- R - 决策
- R - 循环
- R - 函数
- R - 字符串
- R - 向量
- R - 列表
- R - 矩阵
- R - 数组
- R - 因子
- R - 数据框
- R - 包
- R - 数据重塑
R - 字符串
在 R 中,任何写在单引号或双引号对中的值都被视为字符串。在内部,即使您使用单引号创建字符串,R 也会将每个字符串存储在双引号中。
字符串构造规则
字符串开头和结尾的引号必须都是双引号或都是单引号。它们不能混合使用。
双引号可以插入到以单引号开头和结尾的字符串中。
单引号可以插入到以双引号开头和结尾的字符串中。
双引号不能插入到以双引号开头和结尾的字符串中。
单引号不能插入到以单引号开头和结尾的字符串中。
有效字符串示例
以下示例阐明了在 R 中创建字符串的规则。
a <- 'Start and end with single quote' print(a) b <- "Start and end with double quotes" print(b) c <- "single quote ' in between double quotes" print(c) d <- 'Double quotes " in between single quote' print(d)
当运行以上代码时,我们将得到以下输出:
[1] "Start and end with single quote" [1] "Start and end with double quotes" [1] "single quote ' in between double quote" [1] "Double quote \" in between single quote"
无效字符串示例
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
字符串操作
连接字符串 - 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? "
格式化数字和字符串 - format() 函数
可以使用 **format()** 函数将数字和字符串格式化为特定的样式。
语法
format 函数的基本语法如下:
format(x, digits, nsmall, scientific, width, justify = c("left", "right", "centre", "none"))
以下是所用参数的描述:
**x** 是向量输入。
**digits** 是显示的总位数。
**nsmall** 是小数点右侧的最小位数。
**scientific** 设置为 TRUE 以显示科学计数法。
**width** 指示通过在开头填充空格来显示的最小宽度。
**justify** 是字符串向左、向右或居中显示。
示例
# Total number of digits displayed. Last digit rounded off. result <- format(23.123456789, digits = 9) print(result) # Display numbers in scientific notation. result <- format(c(6, 13.14521), scientific = TRUE) print(result) # The minimum number of digits to the right of the decimal point. result <- format(23.47, nsmall = 5) print(result) # Format treats everything as a string. result <- format(6) print(result) # Numbers are padded with blank in the beginning for width. result <- format(13.7, width = 6) print(result) # Left justify strings. result <- format("Hello", width = 8, justify = "l") print(result) # Justfy string with center. 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 "
计算字符串中字符的数量 - 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** 是向量输入。
示例
# Changing to Upper case. result <- toupper("Changing To Upper") print(result) # Changing to lower case. result <- tolower("Changing To Lower") print(result)
当我们执行以上代码时,它会产生以下结果:
[1] "CHANGING TO UPPER" [1] "changing to lower"
提取字符串的一部分 - substring() 函数
此函数提取字符串的一部分。
语法
substring() 函数的基本语法如下:
substring(x,first,last)
以下是所用参数的描述:
**x** 是字符向量输入。
**first** 是要提取的第一个字符的位置。
**last** 是要提取的最后一个字符的位置。
示例
# Extract characters from 5th to 7th position. result <- substring("Extract", 5, 7) print(result)
当我们执行以上代码时,它会产生以下结果:
[1] "act"