我不明白内置函数 pmatch(部分字符串匹配)的行为。

描述提供了以下示例:

pmatch("m",   c("mean", "median", "mode")) # returns NA instead of 1,2,3

但使用:
pmatch("m", "mean") # returns 1, as I would have expected.

有人可以向我解释这种行为吗?

最佳答案

根据文档:
nomatch :要在不匹配或乘以部分匹配位置处返回的值。请注意,它被强制为整数。
nomatch 默认为 NA(即,如果有多个部分匹配,则将返回 NA)。

pmatch("me",   c("mean", "median", "mode"))
[1] NA  # returns NA instead of 1,2 since multiple partial matches

pmatch("mo",   c("mean", "median", "mode"))
[1] 3   # since single partial match

关于r - pmatch 函数的性质,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52219724/

10-12 14:01