个性化阅读
专注于IT技术分析

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入门课程。

赞(0) 打赏
未经允许不得转载:srcmini » R中的字符串用法完全剖析
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏