如何检查向量是否包含给定值?
发布于 2009-07-23 02:25:25
match() (返回第一个外观)和%in% (返回布尔值)函数就是为此而设计的。
v <- c('a','b','c','e')
'b' %in% v
## returns TRUE
match('b',v)
## returns the first location of 'b', in this case: 2发布于 2013-10-02 20:03:47
is.element()使代码更具可读性,并且与%in%相同
v <- c('a','b','c','e')
is.element('b', v)
'b' %in% v
## both return TRUE
is.element('f', v)
'f' %in% v
## both return FALSE
subv <- c('a', 'f')
subv %in% v
## returns a vector TRUE FALSE
is.element(subv, v)
## returns a vector TRUE FALSE发布于 2017-06-07 20:52:46
我将根据输出对选项进行分组。假设所有示例都使用以下向量。
v <- c('z', 'a','b','a','e')查看状态的:
%中的%
> 'a' %in% v
[1] TRUEany()
> any('a'==v)
[1] TRUEis.element()
> is.element('a', v)
[1] TRUE查找第一次出现的:
match()
> match('a', v)
[1] 2用于查找索引向量形式的所有匹配项的:
which()
> which('a' == v)
[1] 2 4以逻辑向量的形式查找所有匹配项的
==
> 'a' == v
[1] FALSE TRUE FALSE TRUE FALSE编辑:由于注释中提到的原因,将grep()和grepl()从列表中删除
https://stackoverflow.com/questions/1169248
复制相似问题