vlambda博客
学习文章列表

R语言笔记——字符函数一




      本个专题将介绍R语言的一些基本技能和实用技巧。本教程列出了R中一些最有用的字符串或字符函数。它包括连接两个字符串,从字符串中提取文本的一部分,从字符串中提取单词,将文本大写或小写,将文本替换为其他文本等。





基本

    在R中,字符串存储在字符向量中。您可以使用单引号/双引号创建字符串。

例如, x= "I love R Programming"




转换对象成字符键入

       as.character函数转换参数字符类型。在下面的示例中,我们将25作为字符存储。



> Y = as.character(25)class(Y)


## [1] "character"


classY)返回character因为25作为character存储在前一行代码中。



 检查字符类型

要检查向量是否为字符,请使用is.character函数。



> x = "I love R Programming"> is.character(x)


## [1] TRUE


is.character函数一样,还有其他函数,例如is.numericis.integeris.array用于检查数字矢量,整数和数组。



连接字符串

 paste功能是用来连接两个字符串。这是最重要的字符串操作任务之一。每个分析师几乎每天都要执行一次以构造数据。



## paste (objects, sep = " ", collapse = NULL)


 sep=关键字和分隔符,默认分隔符为一个空格 collapse= 关键字分隔后输出的结果


> x = "Deepanshu"> y ="Bhalla"> paste(x, y)


## [1] "Deepanshu Bhalla"


> paste(x, y, sep = ",")


## [1] "Deepanshu,Bhalla"




      创建从x1x10的列名



> paste("x", seq(1,10), sep = "")


## [1] "x1" "x2" "x3" "x4" "x5" "x6" "x7" "x8" "x9" "x10"




      使用'Collapse'关键字



> paste("x", seq(1,10), sep="", collapse=",")


## [1] "x1,x2,x3,x4,x5,x6,x7,x8,x9,x10"


比较上两个实例的输出,您将了解paste函数中collapse关键字的用法。x的每个序列都由“,”分隔。



Sprintf格式化

      假设值以小数存储,您需要将其转换为百分比。sprintf用于执行C语言风格的字符串格式化。



## sprintf(fmt, ...)


关键字fmt表示字符串格式。格式以符号%开头,后跟数字和字母。


> sprintf("%.0f%%",x*100)


## [1] "25%"


注意: '.0f'表示'定点'十进制表示法,十进制为0。额外 “F”之后符号告诉R上的号码后加百分号。




      如果将代码更改为sprintf%。2f %%”x * 100),它将返回25.00%。



> x = 0.25> sprintf("%.2f%%",x*100)


## [1] "25.00%"


> sprintf("x%03d", a)


## [1] "x001" "x002" "x003" "x004" "x005"




 格式中的字母“ d”用于数值。格式中的字母's'用于字符串。



> sprintf("%s has %d rupees""Ram", 500)


## [1] "Ram has 500 rupees"



提取或替换子字符串

 



## substr(x, starting position, end position)


> x = "abcdef"> substr(x, 1, 3)


## [1] "abc"




 替换子字符串



## substr(x, starting position, end position) = Value


> substr(x, 1, 2) = "11"


## [1] "11cdfe"


在上述例子中,11替代前2个字母。