pmatch
位于 base
包(package)。 说明
pmatch
在第二个参数中寻找第一个参数的元素的匹配项。
用法
pmatch(x, table, nomatch = NA_integer_, duplicates.ok = FALSE)
参数
x |
要匹配的值:通过 |
table |
要匹配的值:转换为字符向量。不支持Long vectors。 |
nomatch |
在不匹配或部分匹配位置返回的值。请注意,它被强制为 |
duplicates.ok |
|
细节
行为因 duplicates.ok
的值而异。首先考虑一下这种情况是否属实。考虑第一个精确匹配,并记录第一个精确匹配的位置。然后考虑唯一的部分匹配,如果发现则记录下来。 (如果 x
的整个元素与 table
的元素的开头匹配,则发生部分匹配。)最后,x
的所有剩余元素都被视为不匹配。此外,空字符串不能匹配任何内容,甚至不能与空字符串完全匹配。例如,这是字符索引部分匹配的适当行为。
如果duplicates.ok
是FALSE
,值table
一旦匹配就会被排除在后续匹配的搜索之外。此行为相当于R参数匹配的算法,除了考虑空字符串(在参数匹配中,空字符串在与任何剩余参数的精确和部分匹配之后进行匹配)。
charmatch
与pmatch
类似,duplicates.ok
为 true,不同之处在于它区分不匹配和不明确的部分匹配,它确实匹配空字符串,并且不允许多个精确匹配。
NA
值被视为字符串常量 "NA"
。
值
与 x
长度相同的整数向量(如果 nomatch =
NA
则可能包括 NA
),给出 table
中匹配的元素的索引,或 nomatch
。
例子
pmatch("", "") # returns NA
pmatch("m", c("mean", "median", "mode")) # returns NA
pmatch("med", c("mean", "median", "mode")) # returns 2
pmatch(c("", "ab", "ab"), c("abc", "ab"), duplicates.ok = FALSE)
pmatch(c("", "ab", "ab"), c("abc", "ab"), duplicates.ok = TRUE)
## compare
charmatch(c("", "ab", "ab"), c("abc", "ab"))
参考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
Chambers, J. M. (1998) Programming with Data. A Guide to the S Language. Springer.
也可以看看
match
、 charmatch
和 match.arg
、 match.fun
、 match.call
,用于函数参数匹配等,startsWith
用于初始匹配的特定检查; grep
等用于更一般的(正则表达式)字符串匹配。
相关用法
- R pushBack 将文本推回连接
- R paste 连接字符串
- R plot 通用 X-Y 绘图
- R prod 向量元素的乘积
- R print 打印值
- R print.default 默认打印
- R pipeOp 前向管道操作符
- R polyroot 求实数或复数多项式的零点
- R pos.to.env 将搜索路径中的位置转换为环境
- R print.data.frame 打印 DataFrame
- R parse 解析 R 表达式
- R proc.time R的运行时间
- R prmatrix 打印矩阵,旧式
- R proportions 将表条目表示为边表的分数
- R pcre_config PCRE 的报告配置选项
- R pretty 漂亮的断点
- R path.expand 展开文件路径
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R lapply 对列表或向量应用函数
- R dump R 对象的文本表示
- R Sys.getenv 获取环境变量
- R rank 样本排名
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Partial String Matching。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。