R語言 查找滿足條件的數(shù)并獲取索引的操作
1、在R語言中,如何找到滿足條件的數(shù)呢?
例如給定一個向量c2,要求找到數(shù)值大于0的數(shù):
> 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、找到了滿足條件的數(shù),但如何獲取這些數(shù)在原向量中的位置(或索引呢)?
答案是使用which()函數(shù)。首先找到滿足大于0的數(shù)列:
> 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
其次,根據(jù)該數(shù)列標識,就能找到對應(yīng)的索引了。
> 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)判斷至少一個數(shù)滿足條件
例如判斷向量中至少有一個小于或等于零的數(shù)
> any(c2<=0) [1] TRUE
(2)判斷所有的數(shù)都滿足條件
例如判斷所有的數(shù)都大于0,判斷所有的數(shù)都大于等于0:
> all(c2>0) [1] FALSE > all(c2>=0) [1] TRUE >
補充:R語言-查詢向量中指定條件的數(shù)據(jù)-which
如下所示:
> c(1,2,5,2,1,6,19,77,68,21,2,2,1,1)->x > which(x>20)->y > y [1] 8 9 10 > x[y] [1] 77 68 21
which函數(shù)返回符合條件元素的下標
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
R語言中c()函數(shù)與paste()函數(shù)的區(qū)別說明
這篇文章主要介紹了R語言中c()函數(shù)與paste()函數(shù)的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04
R語言數(shù)據(jù)可視化ggplot繪制置信區(qū)間與分組繪圖技巧
這篇文章主要為大家介紹了R語言數(shù)據(jù)可視化ggplot繪制置信區(qū)間與分組繪圖的技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-11-11
Rstudio中安裝package出現(xiàn)的問題及解決
這篇文章主要介紹了Rstudio中安裝package出現(xiàn)的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04
R語言數(shù)據(jù)類型轉(zhuǎn)換的實現(xiàn)(向量,列表,矩陣)
我們在使用R語言做數(shù)據(jù)分析時,會一直對數(shù)據(jù)進行不同類型的轉(zhuǎn)換,本文主要介紹了R語言數(shù)據(jù)類型轉(zhuǎn)換的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-04-04

