R中的字符串用法完全剖析

本文概述

  • R中的字符串规则
  • 字符串的串联
  • 查找长度
  • 更改为大写和小写
  • 提取和替换字符串
  • 格式化字符串
  • 本文总结
【R中的字符串用法完全剖析】字符串是由一个字符组成或包含一组字符的字符。它括在单引号(‘ This is a string’ )或双引号(” This is a string” )中。但是在R的内部表示中, 字符串以双引号表示。
在本教程中, 你将学习R中的字符串, 并且我们将介绍以下主题。
  1. 首先, 你将研究R中的字符串和R中的字符串规则。
  2. 之后, 你将深入研究R中的String串联与String的其他基本属性。
  3. 另外, 将详细说明提取和替换字符串。
  4. 最后, 格式化字符串, 它可以是转换为格式正确的格式的任何矢量输入。
R中的字符串规则以单引号开头的字符串需要以单引号结尾。但是, 你可以使用双引号, 并且通过转义序列(‘ \’ ), 单引号也可以成为字符串的一部分。
例如:’ cars’ , ‘ merry’ s’ , ‘ merry \’ s’ 是R中的有效字符串。
以双引号开头的字符串需要以双引号结尾。但是, 你可以将单引号引起来, 并且通过转义序列(‘ \’ ), 双引号也可以成为字符串的一部分。
例如:” cars” , ” merry’ s” , ” merry \” 也是R中的有效字符串。
字符串的串联String的串联使字符串可以合并或合并。
在R中串联字符串的语法是通过以下方式完成的:
paste(… , sep =” ” , collapse = NULL)
paste0(… , collapse= NULL)
上面粘贴中的参数指出:
  1. ‘ … ’ -表示一个或多个转换为字符向量的字符或对象。
  2. ‘ sep’ -表示分隔符
  3. ‘ collapse’ -表示可选的分隔字符。
例如, 让我们考虑下面的示例, 其中变量包含字符串:my.var1 =” I” my.var2 =” eat” my.var3 =” rice” print(paste(my.var1, my.var2, my .var3))
上面的代码给出了一个字符串, 如下所示:
"I eat rice"

例如, 让我们考虑下面的示例, 其中变量包含转换为单个字符串的向量:
my.var1 = c(‘ Book’ , ‘ Copy’ )my.var2 = c(‘ Pen’ , ‘ Chair’ )print(paste(my.var1, my.var2, sep =” ” , collapse =” -” ))
上面的代码提供以下输出:
"Book Pen-Copy Chair"

在这里, 由于使用折叠, 输出在Pen和Copy之间包含一个” -“ , 这使两个不同的向量分开。相反, sep包含一个space(” ), 其中各个项目由其分隔。
让我们考虑包含paste0()的示例
paste0()的参数为sep =, ” , 即没有空格并且可以提高效率。
state.name < - paste0('Mary', 'l', 'and') print(state.name)

上面代码的输出在下面, 其中所有字符都合并为一个, 并且到sep为止没有单独的空格。
"Maryland"

查找长度nchar(char, type, allowNA, keepNA)-查找给定向量中的字符总数。
nzchar(char)-如果x为非空值, 则返回TRUE;如果包含任何字符串, 则返回FALSE。
上面粘贴中的参数指出:
  1. char-表示字符向量。
  2. 类型-表示三种类型之一, 即” 宽度” , “ 字符” , “ 字节” 。
  3. allowNA-表示逻辑默认值为FALSE, 如果无法计算结果将不是错误, 但返回NA。
  4. keepNA-表示逻辑默认值FALSE, 它将缺省值映射为2, 而nzchar()将给出TRUE, 但是在缺失值的情况下两者都将映射为TRUE。

在下面的示例中确定字符向量的长度。 my.char = nchar(” hello” )print(my.char)
上面的示例返回” 5″ 作为输出, 因为向量中存在五个字符。
对于使用nzchar()的示例, 让我们看下面的代码:
new.char = nzchar(” monkey” )print(new.char)
上面的代码给出了逻辑值” TRUE” , 因为” new.char” 不是一个空字符串。
my.char = nzchar(“ ” )print(my.char)
上面的代码给出了逻辑值” FALSE” , 因为” my.char” 是一个空字符串。
更改为大写和小写toupper(char)-将所有存在的字符更改为大写。
tolower(char)-将所有存在的字符更改为小写。
让我们看一下更改为大写字母的示例。 my.var = toupper(“ 我变成大写字母” )print(my.var)
上面的代码给出如下输出, 其中变量” my.var” 中的每个字符都变为大写。
"I'M CHANGED TO UPPER CASE"

让我们看一下更改为小写字母的示例。 my.var = tolower(“ 我改成小写” )print(my.var)
上面的代码给出如下输出, 其中变量” my.var” 中的每个字符都变为小写。
""i'm changed to lower case""

提取和替换字符串substr(char, start, stop):提取和替换字符串。
上面的论点指出:
  1. char-表示字符串。
  2. start-指示指定要返回的相应起始值的整数。
  3. stop-指示一个整数, 该整数指定要返回的相应停止值。
让我们看另一个提取字符的示例。
final.value < - substring('Remaining', 3, 9) print(final.value)

在上面的代码中, ” Remaining” 是一个字符串, 其中第一个索引为” R” , 索引为整数1。最后一个字符为g, 其索引为整数9。
上面的代码显示了下面的输出, 其中起始值是整数3, 在“ 剩余” 中具有对应的字符“ m” 。类似地, 其他字符“ ainin” (直到整数9)包括相应的字符“ g” ‘ , 将其打印出来。
"maining"

让我们看另一个替换字符的示例。
y = "Remaining" substring(y, 3, 5) < - "der" print(y)

上面的代码显示了输出, 其中3到5的起始整数值(具有y中的相应字符值)被替换为’ der’ 。
"Rederning"

substring(char, first, last = 1000000L):提取或替换字符串。
上面的论点指出:
  1. char-表示字符串。
  2. first-指示指定要返回的相应第一个值的整数。
  3. last-指示一个整数, 该整数指定要返回的相应最后值, 默认值为1000000L。
my.value < - substring('Remaining', 3, 8) print(my.value)

上面的代码显示了下面的输出, 其中起始值是整数3, 在“ 剩余” 中具有对应的字符“ m” 。类似地, 其他字符(直到整数8)(包括对应的字符作为“ n” )被打印出来。
"mainin"

让我们看另一个替换字符的示例。
y = "newcharacter" substring(y, 6, 9) < - "???" print(y)

上面的代码显示了输出, 其中y中对应的字符值从6到9的起始整数值被替换为’ ???’ 。
"newch???cter"

格式化字符串format(char,width,scientific,justify,nsmall,digits):将整数和字符的矢量转换为常用格式。
上面的论点指出:
  1. char-可以是整数或字符的向量。
  2. width-表示产生的字符串的最小宽度。
  3. scientific-默认为FALSE, 但对科学计数法使用TRUE。
  4. justify-默认为none, 但可以显示字符串” right” , ” left” 和” center” 。
  5. nsmall-表示小数点后的总数
  6. digits-表示小数点前后的总数。
让我们以格式化科学记数法的字符串为例。
my.var < - format(c(2, 19.267), scientific = TRUE) print(my.var)

上面的代码显示了输出, 以科学或指数符号表示
"2.0000e+00" "1.9267e+01"

输出” 1.9267e + 01″ = 1.9267 x 10(至1次幂)= 1.9267× 10 = 19.267。
让我们举一个使用nsmall格式化的例子。
my.var < - format(92.56656577, nsmall = 6) print(my.var)

上面的代码给出以下输出, 其中包括小数点后6个数字。
"92.566565"

让我们以使用数字进行格式化为例。
my.var < - format(102.848793834, digits = 7) print(my.var)

上面的代码给出以下输出, 其中包括从小数点后的数字到小数点后的数字。
"102.8488"

包括七个数字作为输出, 最后一个数字需要为7, 但是由于前一个数字(即9大于7), 它会增加到8。简单地说, 就是四舍五入。
让我们以使用右对齐为例进行格式化。
my.var < - format('Running', justify = 'r', width = 9) print(my.var)

上面的代码提供了以下输出, 其中字符” Running” 以一定的宽度向右对齐。
"Running"

让我们以在中心使用对齐字符进行格式化为例。
my.var < - format('Running', justify = 'c', width = 12) print(my.var)

上面的代码提供以下输出, 其中字符” Running” 被对齐为居中, 左右之间有一定的宽度间隔。
"Running"

本文总结恭喜, 你已完成本教程的结尾!
你已经了解了R的字符串:其规则, 串联, 字符串的基本属性, 提取和替换字符串以及格式化字符串。
如果你想了解有关R的更多信息, 请参加srcmini的R入门课程。

    推荐阅读