R语言中的字符处理函数

1.长度?

   nchar(x)  查看字符串的长度;

   length()查看对象x的长度,比如,在前面讲批量读取相同格式的文件中,使用myfiles<-Sys.glob("data*.txt")

   可以用length(myfiles)知道到底有几个文件

2. 截取字符串

   substr()  提取或者替换字符串中的子串

   与substring的区别:

3.拼接字符串

  paste(x1,x2,sep = "拼接符号"),得到的结果就是:x1拼接符号x2。

  需要注意的是,如果你想利用R将列数据进行拼接,比如在我的研究中,需要把用户在每个时间点的访问行为按照顺序拼接在一起,构成一个长序列,最后得到如:SPSPOOOOOOOOIIISIOOOOOOOOOIIII。做法是:

> test<-paste(dt$colume0,sep = "",collapse = "")



这里,顺便学习一下非常常用的collapse用法,在R语言自带的帮助文件中,这样定义collapse: 

Collapses a character vector of any length into a length 1 vector.

举个例子:

> a<-c("apple","banana","pear","peach")
> print(a[1])
[1] "apple"
> b<-collapse(a,sep = ",")  #注意:collapse()函数在glue模块中
> print(b[1])
[1] "apple,banana,pear,peach"

因为数据框的列本来就是一个一个的向量,所以我们可以在使用paste进行字符串粘贴的过程中,

设置collapse = “(和paste的sep相同的一个符号)”,就能完全变成一个了。

4.大小写转换:toupper(x)和tolower(x)

5.特定格式搜索与替换:sub(pattern,replacement,x,ignore.case = F, fixed = F)

举个例子:

> ss<-"Today is Monday"
> sub("is","=",ss)
[1] "Today = Monday"

> ss<-"Today is Monday"
> sub("\\s","(ws)",ss)
[1] "Today(ws)is Monday

> ss<-"Today is Monday,is sunny"
> sub("is","=",ss)
[1] "Today = Monday,is sunny"

问题也出来了,为什么第二个空白键没有被识别出来?

6. 字符串的分割:strsplit(x, split = "分割符",fixed = F,...)

Split the elements of a character vector x into substrings according to the matches to substring split within them.


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页