zoukankan      html  css  js  c++  java
  • R语言-查找满足条件的数并获取索引

    1、在R语言中,怎样找到满足条件的数呢?

    比如给定一个向量c2。要求找到数值大于0的数:

    > c2
     [1] 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.09 0.20 0.09 0.08 0.14 0.14 0.23
    [15] 0.08 0.06 0.12 0.20 0.14 0.11 0.20 0.14 0.17 0.15 0.18 0.15 0.20 0.12
    [29] 0.23 0.08 0.12 0.08 0.23 0.12 0.08 0.17 0.18 0.17 0.12 0.17 0.14 0.18
    [43] 0.11 0.27 0.06
    > c2[c2>0]
     [1] 0.06 0.09 0.20 0.09 0.08 0.14 0.14 0.23 0.08 0.06 0.12 0.20 0.14 0.11
    [15] 0.20 0.14 0.17 0.15 0.18 0.15 0.20 0.12 0.23 0.08 0.12 0.08 0.23 0.12
    [29] 0.08 0.17 0.18 0.17 0.12 0.17 0.14 0.18 0.11 0.27 0.06
    >

    2、找到了满足条件的数,但怎样获取这些数在原向量中的位置(或索引呢)?

    答案是使用which()函数。

    首先找到满足大于0的数列:

    > c2>0
     [1] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
    [13]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
    [25]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
    [37]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE

    其次,依据该数列标识。就能找到相应的索引了。

    > which(c2>0)
     [1]  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
    [25] 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

    3、查找推断

    (1)推断至少一个数满足条件

    比如推断向量中至少有一个小于或等于零的数

    > any(c2<=0)
    [1] TRUE

    (2)推断全部的数都满足条件

    比如推断全部的数都大于0,推断全部的数都大于等于0:

    > all(c2>0)
    [1] FALSE
    > all(c2>=0)
    [1] TRUE
    >




  • 相关阅读:
    自我介绍+软工5问
    第一天
    asp.net中使用CKEditor
    没有为扩展名“.html”注册的生成提供程序。.net urlwrite 重写 伪静态 IIs 配置
    局域网内,无法访问SQL2000的解决方法
    企业网站如何做SEO优化
    GridView结合Dropdownlist和Checkbox
    GridView实现删除时弹出确认对话框
    WebResource
    Tech tips(回发、显示名称、DataView过滤前10条记录)
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7351720.html
Copyright © 2011-2022 走看看