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


#1楼

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

v <- c('a','b','c','e')'b' %in% v
## returns TRUEmatch('b',v)
## returns the first location of 'b', in this case: 2

#2楼

您可以使用%in%运算符:

vec <- c(1, 2, 3, 4, 5)
1 %in% vec # true
10 %in% vec # false

#3楼

any()函数使代码可读

> w <- c(1,2,3)
> any(w==1)
[1] TRUE> v <- c('a','b','c')
> any(v=='b')
[1] TRUE> any(v=='f')
[1] FALSE

#4楼

还可以找到元素“哪个”的位置,该位置可以用作

pop <- c(3,4,5,7,13)which(pop==13)

并找到目标向量中不包含的元素,可以这样做:

pop <- c(1,2,4,6,10)Tset <- c(2,10,7)   # Target setpop[which(!(pop%in%Tset))]

#5楼

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

v <- c('a','b','c','e')is.element('b', v)
'b' %in% v
## both return TRUEis.element('f', v)
'f' %in% v
## both return FALSEsubv <- c('a', 'f')
subv %in% v
## returns a vector TRUE FALSE
is.element(subv, v)
## returns a vector TRUE FALSE

#6楼

为此,我真的很喜欢grep()和grepl()。

grep()返回一个整数向量,该整数指示匹配的位置。

yo <- c("a", "a", "b", "b", "c", "c")grep("b", yo)
[1] 3 4

grepl()返回一个逻辑向量,匹配项的位置为“ TRUE”。

yo <- c("a", "a", "b", "b", "c", "c")grepl("b", yo)
[1] FALSE FALSE  TRUE  TRUE FALSE FALSE

这些功能区分大小写。


#7楼

我将根据输出对选项进行分组。 对于所有示例,假定以下向量。

v <- c('z', 'a','b','a','e')

检查状态:

%在%

> 'a' %in% v
[1] TRUE

任何()

> any('a'==v)
[1] TRUE

is.element()

> is.element('a', v)
[1] TRUE

为了找到第一次出现:

比赛()

> match('a', v)
[1] 2

为了找到所有出现作为索引向量:

哪一个()

> which('a' == v)
[1] 2 4

为了找到所有出现的逻辑向量

==

> 'a' == v
[1] FALSE  TRUE FALSE  TRUE FALSE

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

测试向量是否包含给定元素相关推荐

  1. C++中检查vector是否包含给定元素的几种方式

    概述 在编码中经常会遇到一种场景,就是要在数组或列表中查找某个元素是否存在,其实对于这种线性操作,自己实现一个循环来检查是非常简单的事情,那既然这样,为啥还要专门写篇博客来分享呢? 一个最重要的原因就 ...

  2. 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

    题目描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 ...

  3. Redis 笔记(06)— set 类型(向集合添加元素、获取集合元素个数、判断集合中是否包含某个元素、删除给定元素、返回集合中所有元素、计算集合的交集、并集、差集)

    Redis 的 set 集合内部的键值对是无序的唯一的.它的内部实现相当于一个特殊的字典,字典中所有的 value 都是一个值 NULL .当集合中最后一个元素移除之后,数据结构自动删除,内存被回收. ...

  4. stl向量_如何检查C ++ STL中向量中是否存在元素?

    stl向量 Given a vector and an element to be searched in the vector. 给定一个向量和要在向量中搜索的元素. To check whethe ...

  5. 算法题解:找出包含给定字符的最小窗口(枚举的一般方法)

    题目分析 题目链接:https://leetcode.com/problems... 题目补充:t可以包含重复的字符,如果t包含了n个c,那么找出的window也要包含n个c. 窗口是由2个游标确定的 ...

  6. Redis 中的 集合(Set) SCARD:获取集合包含的元素数量

    5.5 SCARD:获取集合包含的元素数量 通过使用SCARD命令,用户可以获取给定集合的大小,即集合包含的 元素数量: 以下代码展示了如何使用SCARD命令去获取databases集合.fruits ...

  7. 下面html标签元素中不属于块元素的是,HTML中为何P标签内不可包含块元素?

    起因:在做项目时发现原本在DW中无误的代码到了MyEclipse6.0里面却提示N多错误,甚是诧异.于是究其原因,发现块级元素P内是不能嵌套DIV的. 深究:我们先来认识in-line内联元素和blo ...

  8. js 判断数组中是否包含某个元素

    判断数组中是否包含某个元素的八种方法 方法一:array.indexOf (item,start):元素在数组中的位置,如果没与搜索到则返回 -1. 参数 描述 item 必须.查找的元素. star ...

  9. 【Shell】判断是否包含给定字符串

    目录 Shell判断字符串包含关系的几种方法 shell中[ ]和[[]]的区别 格式匹配 作者:bandaoyu  链接:https://blog.csdn.net/bandaoyu/article ...

最新文章

  1. 2022.3.28紫薇
  2. java list取值_Java集合详解
  3. springmvc 前端传给后台中文数据时,会产生乱码
  4. 判断字典中指定key是否存在
  5. C2248编译错误的原因和解决--VC6向VC7.1迁移真是累死人,N多编译错误
  6. linux中的改变bin级别,Linux常用命令
  7. Flink keyby 数据倾斜问题处理
  8. hadoop伪分布式(单机版)安装,Linux
  9. 转正后的感悟(对正在实习的朋友的建议吧)
  10. 数据结构与算法:十大排序算法之归并排序
  11. js判断字符串是否在数组中
  12. ones eye rand randn diag randperm
  13. 10.性能之巅 洞悉系统、企业与云计算 --- 网络
  14. 适配器模式之迭代器模式
  15. 自定义小型ajax框架-ajax讲义二
  16. 3dmax材质丢失插件_3dmax找丢失贴图的材质插件怎么用
  17. 【北邮国院大三上】电子商务法(e-commerce law)知识点整理——Banking Lawe-Payment
  18. 本地时间和GMT(UTC)时间的转换
  19. Matlab信号添加噪声及信噪比SNR的计算
  20. 2021/11/16 定时器Timer和cron表达式

热门文章

  1. : Andorid的Linux基础教学之五 中断机制
  2. 关于BeginPaint和WM_ERASEBKGND
  3. VS 2008 中内存泄露检查
  4. DiskLruCache 源码解析
  5. android 怎么判断activity 从哪里启动的
  6. php 将内容中的图片的域名,php给编辑器中的图片地址添加域名
  7. 基于double-check模式尝试将消息放到batch中
  8. HashMap存自定义对象为什么要重写 hashcode 和 equals 方法?
  9. ocm名单 oracle_oracle_ocm
  10. excel合并多个工作表_如何快速的合并多个 Excel 工作簿至一个工作簿中的工作表?...