我不了解内置函数 pmatch (部分字符串匹配)的行为。
描述提供了以下示例:
-
但使用:
pmatch("m", c("mean", "median", "mode")) # returns NA instead of 1,2,3
有人可以向我解释这种行为吗?
答案 0 :(得分:1)
根据文档:
__getitem__
:要在不匹配或相乘部分匹配的位置处返回的值。注意,它被强制为整数。
nomatch
默认为NA(即,如果存在多个部分匹配项,则将返回NA)。
nomatch
答案 1 :(得分:1)
改为使用count(*)
-grep
的不重复复制行为令人讨厌:
pmatch
唯一的缺点是两个参数均grep("^m", c("mean", "median", "mode"))
[1] 1 2 3
> grep("ed", c("mean", "median", "mode"))
[1] 2
被向量化,而第二个参数仅pmatch(x, table...
。因此grep
不能采用模式向量。但是您可以使用grep
,也可以使用stringi
。