R函数grep
和!grep
(非grep)在逻辑上不一致;与grepl
和!grepl
(非grepl)不同,它们在逻辑上是一致的。
grepl
返回一个长度等于被搜索项目数的逻辑向量。例如,如果在5项向量的第2项和第3项中找到目标,则返回以下内容:
FALSE TRUE TRUE FALSE FALSE
如果grepl
被!grepl
替换,则会返回“相反”的逻辑结果:
TRUE FALSE FALSE TRUE TRUE
另一方面, grep
会返回找到的项目的2个位置的向量:2 3
!grep
在同一场景中返回什么?从逻辑上讲,它应该返回1 4 5
,而不是返回FALSE FALSE
。这怎么可能是一个逻辑上一致的返回值?谁能解释一下?
答案 0 :(得分:4)
您正在寻找invert
的{{1}}参数。
来自grep()
,参数:
反转 - 合乎逻辑。如果
help(grep)
返回不匹配的元素的索引或值。
听起来就像你想要的那样。我们来看一个例子。
TRUE
答案 1 :(得分:0)