目录:
- 中按位置搜索如果知道文本元素中子文本的确切位置,则可以使用substr()函数返回值。提取从第三个位置开始并停留在第六个状态的子文本。名称,使用以下内容: >> head(substr(state.name,start = 3,stop = 6))[1]“abam”“aska”“izon”“kans”“lifo”“lora” >在R
- pattern
视频: 在R中讀取Excel資料表 2024
当您使用文本时,如果能够在文本中查找单词或模式,通常可以解决问题。 R使这很容易做到。想象一下,你有一个在美国国家的名单,你想找出哪些国家包含单词 新。要调查此问题,可以使用内置的数据集状态。名称,其中包含 - 你猜对了 - 美国的国家名称:
<! - 1 - >
头部(状态名称)[1]“阿拉巴马”“阿拉斯加”“亚利桑那”[4]“阿肯色州”“加利福尼亚”“科罗拉多”大体上说,在文本中有两种方法:
按位置:
-
例如,可以告诉R从位置5开始获取三个字母。 按模式:
-
例如,可以告诉R获取子字符串匹配特定的词或模式。 模式有点像通配符。在某些纸牌游戏中,您可以使用小丑牌代表任何其他牌。类似地,R中的模式可以包含具有特殊含义的单词或特定符号。
<! - 2 - >
在R
中按位置搜索如果知道文本元素中子文本的确切位置,则可以使用substr()函数返回值。提取从第三个位置开始并停留在第六个状态的子文本。名称,使用以下内容: >> head(substr(state.name,start = 3,stop = 6))[1]“abam”“aska”“izon”“kans”“lifo”“lora” >在R
<模式中搜索
要查找子字符串,可以使用grep()函数,该函数有两个基本参数:
pattern
:要查找的模式。
-
x : 您要搜索的字符向量。假设你想找到所有包含模式New的状态。这样做: >> grep(“New”,state。name)[1] 29 30 31 32
-
grep()的结果是一个数值向量,每个元素的位置包含匹配模式。换句话说,第29个国家元素。名称包含单词 新。 状态。名字[29]新罕布什尔州
Phew,工作!但是输入每个匹配文本的位置将会是很多工作。幸运的是,您可以直接使用grep()的结果来对原始向量进行子集: >>状态。名称[grep(“New”,state。name)] [1]“New Hampshire”“New Jersey”[3]“New Mexico”“New York”
grep()函数区分大小写,以相同大小写(大写或小写)作为搜索模式。如果以小写字母搜索模式“新”,则搜索结果为空: >>状态。名称[grep(“new”,state。名称)]字符(0)