首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试向量是否包含给定元素

测试向量是否包含给定元素
EN

Stack Overflow用户
提问于 2009-07-23 10:20:53
回答 7查看 816.6K关注 0票数 585

如何检查向量是否包含给定值?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-07-23 02:25:25

match() (返回第一个外观)和%in% (返回布尔值)函数就是为此而设计的。

代码语言:javascript
复制
v <- c('a','b','c','e')

'b' %in% v
## returns TRUE

match('b',v)
## returns the first location of 'b', in this case: 2
票数 564
EN

Stack Overflow用户

发布于 2013-10-02 20:03:47

is.element()使代码更具可读性,并且与%in%相同

代码语言:javascript
复制
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
票数 195
EN

Stack Overflow用户

发布于 2017-06-07 20:52:46

我将根据输出对选项进行分组。假设所有示例都使用以下向量。

代码语言:javascript
复制
v <- c('z', 'a','b','a','e')

查看状态的

%中的%

代码语言:javascript
复制
> 'a' %in% v
[1] TRUE

any()

代码语言:javascript
复制
> any('a'==v)
[1] TRUE

is.element()

代码语言:javascript
复制
> is.element('a', v)
[1] TRUE

查找第一次出现的:

match()

代码语言:javascript
复制
> match('a', v)
[1] 2

用于查找索引向量形式的所有匹配项的:

which()

代码语言:javascript
复制
> which('a' == v)
[1] 2 4

以逻辑向量的形式查找所有匹配项的

==

代码语言:javascript
复制
> 'a' == v
[1] FALSE  TRUE FALSE  TRUE FALSE

编辑:由于注释中提到的原因,将grep()和grepl()从列表中删除

票数 100
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1169248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档