时间:2021-05-20
例如给定一个向量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>答案是使用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例如判断向量中至少有一个小于或等于零的数
> any(c2<=0)[1] TRUE例如判断所有的数都大于0,判断所有的数都大于等于0:
> all(c2>0)[1] FALSE> all(c2>=0)[1] TRUE>补充:R语言-查询向量中指定条件的数据-which
which函数返回符合条件元素的下标
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
以c语言为例,其用于指定当前记录的宏命令是FindNext,它用于查找满足指定条件的下一条记录;宏命令FindRecord用于查找满足指定条件的第一条记录;宏命
R语言-获取指定位置的数据R中采用数据对象+[,]的方式获取对应位置的数据,根据填入索引参数的不同类型可具体分为:正整数、负整数、零、空格、逻辑值、名称>mat
索引是排好序的数据结构!可以用在where条件查找的字段,和orderby排序的字段,有了索引,便可以快速地定位数据所在的物理地址并找出来。索引的分类1.普通索
I.跳出单循环不管是什么编程语言,都有可能会有跳出循环的需求,比如枚举时,找到一个满足条件的数就终止。跳出单循环是很简单的,比如:foriinrange(10)
实现代码:$v){$sum+=$v[$glname];}$R=rand(1,$sum);//获取随机数foreach($jpas$k=>$v){if($R10,