往期回顾
上一篇学习的数学和统计函数是用来处理数值型数据的,而字符处理函数可以从文本型数据中抽取信息,或者为打印输出和生成报告重设文本的格式。
一、字符处理函数
接下来,我们介绍一下最有用的字符处理函数。
nchar(x) 计算x中的字符数量x
substr(x,start,stop) 提取或替换一个字符向量中的字串x
grep(pattern,x,ignore.case=FALSE,fixed=FALSE) 在x中搜索某种模式。若fixed=FALSE,则pattern为一个正则表达式。若fixed = TRUE 则pattern为一个文本字符串。返回值为匹配的下标grep("A",c("b","A","c"),fixed=TRUE) 返回值为2。
sub(pattern,replacement,x,ignore.case=FALSE,fixed=FALSE) 在x中搜索pattern,并以文本replacement将其替换。若fixed=FALSE,则pattern为一个正则表达式。若fixed=TRUE,则pattern为一个文本字符串。sub("\\s",".","Hello There")返回值为Hello.There。注意,"\s"是一个用来查找空白的正则表达式;使用"\\s"而不要"\"的原因是,后者是R中的转义字符。
strsplit(x,split,fixed=FALSE) 在split处分割字符向量x中的元素。若fixed=FALSE,则pattern为一个正则表达式。若fixed=TRUE,则pattern为一个文本字符串 y
paste(...,sep="") 连接字符串,分隔符为sep ,paste("x",1:3,sep="M") 返回值为c("xM1","xM2","xM3")
toupper(x) 大写转换
tolower(x) 小写转换
正则表达式为文本模式的匹配提供了一套清晰而简练的语法。例如,正则表达式:^[hc]?at可匹配任意以0个或1个h或c开头、后接at的字符串。
二、 其他实用函数
有一些函数对于数据管理和处理同样非常实用,只是它们无法清楚地划入其他分类中。
length(x) 对象x的长度x
seq(from,to,by) 生成一个序列indices
rep(x,n) 将x重复n次y
cut(x,n) 将连续型变量x分割为有着n个水平的因子使用选项ordered_result = TRUE 以创建一个有序型因子
pretty(x,n) 创建美观的分割点。通过选项n+1个等间距的取整值,将一个连续变量x分割为n个区间。
cat(...,file="myfile",append = FALSE) 连接...中的对象,并将其输出到屏幕上或文件中。
R中提供了一个apply()函数,可将一个任意函数“应用”到矩阵、数组、数据框的任何维度上。格式如下:
apply(x,MARGIN,FUN,...)
其中,x为数据对象,MARGIN是维度的下标,fun是指定的函数。在矩阵或数据框中,MARGIN=1表示行,MARGIN=2表示列。
在以上两篇内容,进行学习分享了处理数值型和字符型的函数,下期我们会学习如何控制R语言语句的标准控制结构。
领取专属 10元无门槛券
私享最新 技术干货