当前位置:天才代写 > tutorial > 其他教程 > R语言编程入门之字符串处理惩罚

R语言编程入门之字符串处理惩罚

2017-12-04 08:00 星期一 所属: 其他教程 浏览:679

尽量R语言的主要处理惩罚工具是数字,而字符串有时候也会在数据阐明中占到相当大的份量。出格是在文本数据挖掘日趋重要的配景下,在数据预处理惩罚阶段你需要纯熟的操纵字符串工具。虽然假如你擅长其它的处理惩罚软件,好比Python,可以让它来认真前期的脏活。

获取字符串长度:nchar()可以或许获取字符串的长度,它也支持字符串向量操纵。留意它和length()的功效是有区此外。

字符串粘合:paste()认真将若干个字符串相连结,返回成单独的字符串。其利益在于,就算有的处理惩罚工具不是字符型也能自动转为字符型。

字符串支解:strsplit()认真将字符串凭据某种支解形式将其举办分别,它正是paste()的逆操纵。

字符串截取:substr()能对给定的字符串工具取出子集,其参数是子集所处的起始和终止位置。

字符串替代:gsub()认真搜索字符串的特定表达式,并用新的内容加以替代。sub()函数是雷同的,但只替代第一个发明功效。

字符串匹配:grep()认真搜索给定字符串工具中特定表达式 ,并返回其位置索引。grepl()函数与之雷同,但其后头的”l”则意味着返回的将是逻辑值。

一个例子:
我们来看一个处理惩罚邮件的例子,目标是从该文本中抽取发件人的地点。该文本在此可以下载到。邮件的全文如下所示:
—————————-
Return-Path: [email protected]
Delivery-Date: Sat Sep 7 05:46:01 2002
From: [email protected] (Skip Montanaro)
Date: Fri, 6 Sep 2002 23:46:01 -0500
Subject: [Spambayes] speed
Message-ID: <[email protected]>

If the frequency of my laptop’s disk chirps are any indication, I’d say
hammie is about 3-5x faster than SpamAssassin.

Skip
—————————-

# 用readLines函数从当地文件中读取邮件全文。
data <- readLines(‘data’)
# 判定工具的类,确定是一个文本型向量,每行文本是向量的一个元素。
class(data)
# 从这个文本向量中找到包罗有”From:”字符串的那一行
email <- data[grepl(‘From:’,data)] #将其凭据空格举办支解,分成一个包罗四个元素的字符串向量。
from <- strsplit(email,’ ‘)
# 上面的功效是一个list名目,转成向量名目。
from <- unlist(from)
# 最后搜索包括’@’的元素,即为发件人邮件地点。
from <- from[grepl(‘@’,from)]
在字符串的巨大操纵中凡是会包罗正则表达式(Regular Expressions),关于这方面内容可以参考?regex
 

    关键字:

天才代写-代写联系方式