数据分析师的日常工作就是数据预处理,数据预处理最经常遇到的问题就是字符串的处理,这部分很难,我以前看过一些R的书和一些技术博客,现在依旧发现有些细节做不好,下面我就转载别人的一些字符串处理的方法,我会在下面说说我的看法:
字符串分割函数:strsplit( )
字符串连接函数:paste( )
计算字符串长度:nchar( )
字符串截取函数:substr( )及substring( )
字符串替换函数:chartr( )
大小写转换函数:toupper( )、tolower( )及casefold( )
以目前的工作来说,前4个至少每次都可以用到其中的一两个,5和6不经常用。
1:strsplit( )函数用于字符串分割,其中split是分割参数。所得结果以默认以list形式展示。
用法:strsplit("字符串",sep=“”(分隔符,可省略sep=,直接写“”双引号里面的内容))
2:paste( )函数用于字符串连接,其中sep负责两组字符串间的连接;collapse负责一组字符串内部的连接。
用法:paste(..., sep = " ", collapse = NULL) (举例:A
3:很好理解,用法+案例:nchar(“abc”)结果为3。n是char的长度计算。
4:substr( )函数和substring( )函数是截取字符串最常用的函数,两个函数功能方面是一样的,只是其中参数设置不同。
substr( )函数:必须设置参数start和stop,如果缺少将出错。用法:substr(“字符串”,start=数字,stop=数字)下同。
substring( )函数:可以只设置first参数,last参数若不设置,则默认为1000000L,通常是指字符串的最大长度。
这个也很少理解:substr("abcd",2,3)结果为bc;substring("abcd",2)结果为bcd。
注意:substr和substring的区别就是最后一个参数:前者是必须存在stop结尾,后者随意。
5:chartr( )函数:将原有字符串中特定字符替换成所需要的字符。
其中参数old表示原有字符串中内容;new表示替换后的字符内容 用法:chartr(old= ,new= ,数据框) 案列:x
tolower( )函数:将字符串统一转换为小写。
casefold( )函数:根据参数转换大小写。
前面2个函数比较简单,说说第三个:casefold(向量,upper=T或FALSE),upper=T全是大写,反之。
写这个有2个好处,1是可以帮助别人,2是自我巩固,当然重点是2自我巩固。