本节书摘来自华章计算机《R语言数据挖掘:实用项目解析》一书中的第1章,第1.12节,作者[印度]普拉迪帕塔·米什拉(Pradeepta Mishra),译 黄芸,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.12 字符串操作
字符串操作或字符操作是所有数据管理系统中的一个重要方面。比如在一个典型的实际数据集里,客户的名字会有多种写法,如J H Smith、John h Smith、John h smith等。据验证,这三个名字表示的是同一个人。在典型的数据管理里,标准化数据集中的文本列或变量很重要,由于R语言是区分大小写的,任何差异都会被当作一个新的数据点。还有很多其他变量,比如一辆汽车的名字/模型、产品描述等。我们来看看如何应用一些函数来标准化文本:
以上代码中的X对象是一个字符串或字符型对象。substr命令用于从字符串中根据函数指定的位置取出子字符串。如果某模式或文本需要修改或更改,可以使用sub命令。有4个重要的参数需要用户传递:需要模式搜索的字符串、模式、需要被替代待修改的模式以及是否区分大小写。我们来看一个样例脚本:
strsplit函数有助于将字符串中的字母扩展开来。sub命令用于修改字符串中不正确的模式。ignore.Case选项可供用户在对字符串进行模式搜索时开启或关闭大小写区分。